Commit graph

61 commits

Author SHA1 Message Date
Andreas Öman
86a9626346 Add pkt_err to th_pkt_t
This will be set if the packet consists of damaged data
2012-10-18 11:06:02 +02:00
Dave Chapman
f9f39bf585 Move the clearing of the PTS/DTS to immediately after the point it is copied into the outgoing packet structure. This fixes a bug where the PTS was being cleared before it was being used. See #hts IRC logs from the 13th and 21st August 2012 for discussion. 2012-08-24 12:03:14 +01:00
Jernej Fijačko
765beff332 Deliver raw teletext to clients that are able to display it (e.g. XBMC) 2012-08-02 10:04:36 +01:00
Jernej Fijačko
a5a353ff51 Ignore packet if fsize equals zero 2011-10-12 13:40:07 +02:00
Jernej Fijačko
f24594a8f7 Correct frame duration 2011-09-16 11:25:10 +02:00
Jernej Fijačko
73dd4c2cc7 Initial support for parsing AAC streams inside mp4a container 2011-09-15 15:12:54 +02:00
Andreas Öman
123a261f4b Rename th_stream -> elementary_stream 2010-11-29 20:13:54 +00:00
Andreas Öman
85132732b6 Rename transport -> service 2010-11-29 20:06:52 +00:00
Andreas Öman
42adea653d Rename tvhead.h -> tvheadend.h 2010-11-29 19:25:24 +00:00
Andreas Öman
ce549c6a54 Add EAC3 support.
Ticket #219
2010-10-31 11:48:25 +00:00
Andreas Öman
222b401369 More AC3 parser cleanup 2010-10-31 09:47:36 +00:00
Andreas Öman
07e0362f4f Cleanup the ac3 parser and fix a bug (that mostly was unnoticed AFAIK) 2010-10-31 09:42:16 +00:00
Andreas Öman
fee5c55922 More debug to track why a memory allocation suddenly fails 2010-10-27 21:51:36 +00:00
Andreas Öman
f96428ca8a Extract teletext subtitles and convert into UTF-8 text.
Ticket #147
2010-10-26 17:53:36 +00:00
Andreas Öman
2f8724de87 One more assert() 2010-10-26 17:34:42 +00:00
Andreas Öman
3ec52dbbce Add an assert() 2010-10-26 17:34:15 +00:00
Andreas Öman
f70076ee0b MPEG audio startcodes is in 0x1c0 - 0x1df range, not just 0x1c0
Probably fixes ticket #265 #291
2010-10-25 20:00:54 +00:00
Andreas Öman
112fe0939b Fix code style 2010-10-25 19:50:50 +00:00
Andreas Öman
d138728220 Fix parsing of PS MPEG audio. Ticket #260 2010-09-05 10:18:13 +00:00
Andreas Öman
ec7978e6b2 Write aspect ratio in recorded MKV files 2010-09-01 16:28:13 +00:00
Andreas Öman
a8138f8537 Add support for some obscure PES packaging that VLC produces. See Ticket #235 2010-08-19 19:47:30 +00:00
Andreas Öman
ace8530a05 Fix bug in subtitle parsing 2010-08-19 05:29:08 +00:00
Andreas Öman
d2a36cb39e remove dead code 2010-07-03 16:19:05 +00:00
Andreas Öman
6f85b14767 Refactor parsing buffer handling + better constification 2010-07-03 16:18:50 +00:00
Andreas Öman
77bd08ab88 Extract # of channels and samplerate for AC3 and MPA 2010-07-01 08:26:34 +00:00
Andreas Öman
639659c1f6 Add support for bounded PES packets in MPEG video.
Ticket #233
2010-07-01 07:13:47 +00:00
Andreas Öman
d64e75cf57 Fix incorrect MPA frame size computation (when padding was enabled) 2010-06-30 20:31:26 +00:00
Andreas Öman
d5ceed1cae Fix error in AC3 parser 2010-06-30 18:39:57 +00:00
Andreas Öman
89fc2c6185 Fix broken debug printout 2010-06-24 11:41:32 +00:00
Andreas Öman
ba33824bdd Add a level of indirection between a packet and its payload.
This allows the code to modify packets (which are non-mutable due to reference counting)
by copying them without having to also copy the packet payload.
2010-06-24 11:29:22 +00:00
Andreas Öman
b93d5f0a5b Reduce FFmpeg dependencies 2010-06-23 21:43:00 +00:00
Andreas Öman
4146e3c677 Use native parsers for MPA and AC3 2010-06-23 21:32:49 +00:00
Andreas Öman
1f13988517 Remove unused data 2010-06-23 17:49:04 +00:00
Andreas Öman
fe25d0a50f Drop trailing zeroes from headers 2010-06-18 08:49:16 +00:00
Andreas Öman
3c0e1141ff * Make error detection in timestamp parsing much stronger.
* Avoid extracting persistent data (such as video width*height) from 
  received data if we suspect that an error has occured (MPEG-TS TEI or
  continuity counter errors).

* Add src/plumbing/tsfix.[ch]: Streaming code that fixes up missing
  timestamps and normalize timecode to start at 0.

* Move PTS estimation code and timestamp normalization out from central
  parse code. Subscribers that really needs it should use tsfix plumbing
  instead.

* Let DVR code use tsfix plumbing.

* Don't send "pts" and "dts" over HTSP if timestamps are missing.
2010-06-15 14:53:39 +00:00
Andreas Öman
5b56688ebe Extract h264 frame duration from bitstream instead of measuring intra packet time 2010-06-15 10:51:44 +00:00
Andreas Öman
f5254a66fa Splice "global data" (sequence headers for MPEG2 and SPS/PPS for h264) into
packet buffers of its own.

Make all subscribers merge it back for now. We will need this for correctly
writing global headers in MKV files. 

Ticket #61
2010-06-14 12:32:57 +00:00
Andreas Öman
2a9e1169f4 Use 90kHz timebase internally 2010-06-13 19:29:31 +00:00
Andreas Öman
c15d002917 Keep track of video width and height and send it over HTSP in subscriptionStart.
Fixed ticket #208
2010-06-13 12:18:59 +00:00
sb1066
058c59221b When there is no video pid (service type is Radio), start the audio stream right away. Fixes ticket #59 2010-05-29 08:29:01 +00:00
Andreas Öman
e2148358bf Skip MPEG Padding start codes 2010-03-10 22:45:29 +00:00
Andreas Öman
6540760a83 h264 parser: Don't deescape more than 64 bytes (for once the comment was correct but code was not) 2010-02-22 19:44:30 +00:00
Andreas Öman
4d992cca57 Fix MPEG TS section reassembly code
Const'ify lots of places where we pass transport stream blocks
2010-01-16 21:51:43 +00:00
Andreas Öman
62008fcb9d Use flags to signal transport status 2010-01-09 16:03:26 +00:00
Andreas Öman
30963b5e06 Improve logging on various places 2009-12-15 17:00:06 +00:00
Andreas Öman
9f633568f8 Remove debug cruft 2009-12-09 19:33:07 +00:00
Andreas Öman
0dc6e8e503 Initial AAC support. Works over HTSP but is not written by the DVR yet. 2009-12-07 22:35:21 +00:00
Andreas Öman
27c274fadd Remove unused code 2009-12-03 22:53:56 +00:00
Andreas Öman
56a234cf70 subtitle decoder: account for end_of_PES_data_field_marker 2009-12-01 23:01:52 +00:00
Andreas Öman
0de1d92e9e Fix off by 6 error in subtitle parser 2009-12-01 22:19:59 +00:00