Sebastian Dröge
6115e0cb0e
mpegtsdemux: Don't answer the SEEKING query if we don't know the answer yet
...
A bitrate!=-1 is required for seeking but the bitrate is only calculated
after the second PCR was read.
Fixes bug #590446 .
2009-08-08 22:14:53 +02:00
Josep Torra
9861908926
mpegtsdemux: fix a memory leak
2009-08-07 19:12:26 +02:00
Josep Torra
1a9b54b781
mpegtsdemux: added VC1, EAC3 and LPCM related to blueray/hdmv
2009-08-07 19:00:23 +02:00
Josep Torra
da95f4a873
mpegpsdemux: added caps for AAC and fixed playback of a clip with LPCM
2009-08-07 18:35:42 +02:00
Josep Torra
3c22fb611b
mpegpsdemux: improved demuxer performance
...
Increased performance doing pull_range in blocks of 32Kb instead of 4Kb.
Caching the value of gst_adapter_available instead of calling it 3 times.
Added some comments with the header descriptions.
Peek enough data to avoid a corner case where could be readed data outside
the buffer.
Speed up some more inlining some functions and keeping another stream pointer
list to be used as iterator.
Sprinkle branch prediction macros accross the code.
Handling the seeking with flush in pull mode in the proper way.
2009-08-07 18:17:28 +02:00
Sebastian Dröge
3f6e84ec61
mpeg[pt]sdemux: Fix SEEKING query
...
Send the BYTES based query downstream, not the orignal one.
2009-08-05 09:36:00 +02:00
Sebastian Dröge
da7263b51f
mpegdemux: Remove some backward compatibility code
...
Also we always require liboil so use it unconditionally.
2009-07-23 09:58:38 +02:00
Sebastian Dröge
d8b285d7fd
mpegdemux: Implement query type function for the src pads
2009-07-23 09:53:29 +02:00
Stefan Kost
5e6edd7e7b
mpegdemux: don't add a base_time==-1 to segment positions
...
Fixes assertion about newsegment with start=-1.
2009-07-22 00:33:22 +03:00
Sebastian Dröge
95e50d3598
mpegpsdemux: Implement SEEKING query
...
Fixes bug #588944 .
2009-07-21 13:39:21 +02:00
Sebastian Dröge
1f88ceeba8
mpegtsdemux: Implement SEEKING query
...
Partially fixes bug #588944 .
2009-07-21 13:33:58 +02:00
Sebastian Dröge
e3f08983aa
mpegtsparse: Free the PMT before setting a new one
2009-07-21 13:18:10 +02:00
Mikael Magnusson
6233d1c950
mpegtsparse: Remove old PES PIDs when receiving PAT tables
...
Fixes bug #583470 .
2009-07-21 13:18:09 +02:00
Matijs van Zuijlen
01200712ea
mpegdemux: Fix integer overflow
...
This breaks playback of files >4 GB as the offset was
a guint before. Changing it to a guint64 fixes this.
2009-07-18 08:44:58 +02:00
Zaheer Merali
3d44d92630
mpegtsparse: add component tag to the video component structure in eit
2009-07-17 09:40:12 +01:00
Aleksey Yulin
2db8d6ea0b
mpegtsdemux: Don't use PIDs > MPEGTS_MAX_PID
...
The mpegtsdemux streams array only has MPEGTS_MAX_PID entries
and accessing one afterwards will result in crashes.
Fixes bug #575672 .
2009-07-16 19:52:22 +02:00
Josep Torra
6303b0e80d
pesfilter: Permit unbounded packets for 0xfd (extended stream id).
...
Added parsing of PES extension related data.
Fixes some VC1 related issues.
2009-07-16 16:05:41 +02:00
Zaheer Merali
1a6cd35c50
mpegtsparse: add component tag to structure for component message
2009-07-15 18:27:39 +01:00
Sebastian Pölsterl
fc80a08e44
mpegtsdemux: Fix double free
...
The hash table already makes sure that the stream is correctly
free'd when elements are removed.
Fixes bug #587819 .
2009-07-08 15:27:48 +02:00
Miguel Àngel Farré
4266fd443a
mpegtsparse: parse component tag
2009-07-08 10:34:02 +01:00
Miguel Àngel Farré
c90fccd986
mpegtsparse: parse carousel identifier descriptor
2009-07-08 10:33:44 +01:00
Zaheer Abbas Merali
66a5549094
mpegtsparse: add parsing of data broadcast descriptors
2009-07-08 10:33:29 +01:00
Zaheer Abbas Merali
2e6de387ac
mpegtsparse: fix sdt parsing.
...
fix parsing of everything for each service from eit schedule flag on and also
add a running-status parameter to the bus message structure.
2009-07-02 15:58:00 +01:00
Edward Hervey
22496517e0
mpegtsdemux: Fix HDV private stream definition/caps.
2009-06-05 20:23:44 +02:00
Jan Schmidt
8eac0482fd
mpegdemux: Add a GST_MEMDUMP line in the descriptor parsing
...
Make it possible to see descriptor contents in the debug output
(GST_DEBUG=mpegtsdesc:9), and remove a stray semi-colon.
2009-06-04 16:29:31 +01:00
Jan Schmidt
b8eb0d5dbb
mpegtsdemux: Avoid passing the custom GST_FLOW_NEED_MORE_DATA upstream
...
Don't return GST_FLOW_NEED_MORE_DATA from the chain function at the end
of files.
2009-06-04 16:11:16 +01:00
Jan Schmidt
db7d1a7eeb
mpegtsdemux: Fix bogus uninitialised variable access
...
Typo in the previous commit
2009-05-29 15:44:51 +01:00
Jan Schmidt
f3a9f52536
mpegtsdemux: Use the ISO 639 language code descriptor to send tags.
...
If there is an ISO 639 language descriptor for a stream, send a language
code tag so that players can show a meaningful language for the audio and
subtitle streams.
2009-05-29 15:07:11 +01:00
Jan Schmidt
b460592917
mpegdemux: Only treat streams from 0xa0 to 0xaf as LPCM, not 0xa0..0xbf
...
Don't treat some streams (Private Stream 2) as LPCM when they're not. Fixes
playback of files that have private streams in them now that the PES filter
emits such packets.
2009-05-26 21:05:01 +01:00
Jan Schmidt
f7eefea47c
mpegdemux: Add sparse stream filling.
...
First stab at sending new-segment events to effect sparse stream
updates.
2009-05-26 15:31:54 +01:00
Jan Schmidt
e1d778e559
mpegdemux: Add support for outputting sub-picture streams found in files.
...
Output subpicture streams when they are found on the private stream ID.
Don't strip off the first byte of such packets when pushing.
2009-05-26 15:31:53 +01:00
Jan Schmidt
471640e3f3
mpegtsdemux: Add mapping for DVD and Bluray subpicture streams.
...
Add output subpicture pads for DVD (video/x-dvd-subpicture) and Bluray PGS
(subpicture/x-pgs) streams. Remove an unused variable from
the PES filter.
2009-05-26 15:31:53 +01:00
Edward Hervey
023af351fb
gstpesfilter: Directly use gst_adapter_take_buffer().
2009-05-25 18:32:26 +02:00
Edward Hervey
410d8f8910
gstpesfilter: Don't peek the adapter if we don't have enough data.
2009-05-25 18:32:26 +02:00
Edward Hervey
849ea99358
gstpesfilter: Don't skip private streams PES but push them out.
...
The one thing we *DO* need to do for those streams is to skip all
the PTS/DTS/Scrambling/DSM/extension/... handling.
2009-05-25 18:32:26 +02:00
Edward Hervey
36cc757bda
mpegtsdemux: Ignore NULL packets as early as possible.
...
This avoids:
* creating a MpegTSStream structure for nothing
* processing packet data for nothing
2009-05-25 18:32:26 +02:00
Edward Hervey
f92f282874
mpegtsdemux: Add mapping for HDV private streams
2009-05-25 18:32:26 +02:00
Wim Taymans
580b20d6cc
mpegtsdemux: fix memleaks and refcounts
...
Use correct constants for PID_type so that we clear the right filter.
provide_clock must return a ref to a clock.
2009-05-22 11:02:07 +02:00
Edward Hervey
f9dfc44a67
mpegtsdemux: Protect bitrate estimation against bogus values.
...
If the estimated bitrate is lower than 188 bytes, there's most likely
something completely wrong with the two samples. If that happens,
force recalculation.
Use guint64 for observation PCR, I saw cases where it would overflow.
2009-05-11 16:59:20 +02:00
Edward Hervey
bc062b9acf
mpegtsdemux: Only take PCR from the active stream for bitrate estimation.
2009-05-11 16:58:58 +02:00
Edward Hervey
432dd98321
mpegtsdemux: Change debugging levels for very frequent messages.
...
This allows debugging with mpegtsdemux:4 while being able to track what's
going on (and avoid taking up as much cpu for debugging as for the actual
demuxing process).
2009-05-11 16:53:18 +02:00
Edward Hervey
5aa3358f3b
mpegtsdemux: Revert indentation and comment header file.
...
One shouldn't run gst-indent on .h files, in this case it was un-beautifying
the indentation :)
2009-05-11 16:53:12 +02:00
Zaheer Merali
ff7b54e7da
mpegtsdemux: Add initial naive seeking support and fix duration query.
...
Sync from gst-fluendo-mpegdemux and have seeking/duration query
improvements in. No support however for wrapped around pcrs etc. but a
start nonetheless.
Also fix indentation issues.
2009-05-08 18:26:43 +01:00
Zaheer Abbas Merali
179f5bb850
mpegtsparse: Remember pids that are meant to be stream pids.
...
Fixes #569781
2009-05-04 22:09:05 +01:00
Vincent Genieux
e41401e317
mpegtsparse: Ignore subtable extension when parsing PAT
...
Fixes #569673 .
2009-05-03 17:42:44 +01:00
Vincent Genieux
8ef8daf4db
mpegtsparse: make safe changing the program-numbers property dynamically
...
Fixes #569437 .
2009-05-03 17:21:22 +01:00
Edward Hervey
c717af5c0a
mpegdemux: Only error out at EOS push failure if we don't have any streams.
...
This should remove the bogus error messages while still keeping the original
intent of this, which is to inform the pipeline/application/user that we
could not find any valid streams.
There are many reasons why pushing an event can fail, and not all of them are
because there's no link downstream (it could be because it was blocked, or
flushing).
2009-04-21 16:12:08 +02:00
Zaheer Abbas Merali
51fdc78786
mpegtsdemux: add hack specific for itvhd
...
itvhd masks its h264 video stream as a private stream making it harder for
other set top boxes to decode. this checks for specific program number, video
pid and stream type combination before declaring it as h264.
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
c5825f9e1d
mpegtsparse: detect AC3 streams in PMT table
...
add 'has-ac3' boolean to pmt bus message
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
39d6074539
itv hd hack
2009-04-21 12:09:31 +01:00