Commit graph

27 commits

Author SHA1 Message Date
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
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
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
39d6074539 itv hd hack 2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
e8ca380063 hack for itvhd sid to detect mpeg1 as h264 2009-04-21 12:09:31 +01:00
Josep Torra
ff1a6b4b22 mpegtsdemux: reset sync_lut_len to 0 on READY to NULL 2009-03-04 18:16:31 +00:00
Josep Torra
84860befdf mpegtsdemux: dynamically adjust the sync LUT table
Make the sync LUT table adjusted dynamically according to the size
of scanned data. Fixes demuxing buffers of any size.
2009-03-03 18:28:10 +00:00
Zaheer Merali
571d51ac92 mpegtsdemux: s/fluts/mpegts
Change all definitions from fluts to mpegts.
2009-02-19 11:36:45 +00:00
David Schleef
fe42ac1020 gst/mpegdemux/gstmpegtsdemux.c: Don't forward duration requests in BYTES, since the returned value doesn't mean anyth...
Original commit message from CVS:
* gst/mpegdemux/gstmpegtsdemux.c:
Don't forward duration requests in BYTES, since the returned
value doesn't mean anything.  Fixes #566959
2009-01-09 22:09:06 +00:00
David Schleef
4317cdbec0 gst/mpegdemux/gstmpegtsdemux.*: Enable latency code, since we're definitely after 0.10.12
Original commit message from CVS:
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Enable latency code, since we're definitely after 0.10.12
2008-11-26 04:57:22 +00:00
Zaheer Abbas Merali
d087870e09 gst/mpegdemux/gstmpegtsdemux.c: Make private section pads have a caps set so they are not tried to be linked in parse...
Original commit message from CVS:
* gst/mpegdemux/gstmpegtsdemux.c:
Make private section pads have a caps set so they are not tried
to be linked in parse_launch for example.
2008-11-06 12:17:08 +00:00
Zaheer Abbas Merali
5e47fd7616 gst/mpegdemux/gstmpegtsdemux.c: No need to reclaculate flush in this case.
Original commit message from CVS:
patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
No need to reclaculate flush in this case.
Fixes some bad decode errors introduced.
2008-11-06 11:31:03 +00:00
Zaheer Abbas Merali
32a383f8b4 gst/mpegdemux/gstmpegtsdemux.*: Fix typo.
Original commit message from CVS:
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Fix typo.
2008-11-06 10:42:59 +00:00
Zaheer Abbas Merali
cf69768bfb gst/mpegdemux/gstmpegtsdemux.c: Heuristic approach when resyncing.
Original commit message from CVS:
patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
Heuristic approach when resyncing.
2008-11-05 18:52:38 +00:00
Zaheer Abbas Merali
e758c7dc23 gst/mpegdemux/gstmpegtsdemux.*: Properly handle some resync cases in the optimised buffering strategy.
Original commit message from CVS:
Patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Properly handle some resync cases in the optimised
buffering strategy.
2008-10-16 16:37:33 +00:00
Zaheer Abbas Merali
9a808ad30a gst/mpegdemux/gstmpegtsdemux.c: Fixes a segfault in the adaptation buffer size strategy.
Original commit message from CVS:
patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
Fixes a segfault in the adaptation buffer size strategy.
Fixes #556440
2008-10-16 08:13:49 +00:00
Zaheer Abbas Merali
2dde2ebecc gst/mpegdemux/: Add Fluendo to the Long Name.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c:
* gst/mpegdemux/gstmpegtsdemux.c:
Add Fluendo to the Long Name.
2008-10-08 16:20:26 +00:00
Zaheer Abbas Merali
478417da1a gst/mpegdemux/gstmpegtsdemux.c: Fix wrong firing of critical introduced by previous optimisation.
Original commit message from CVS:
Patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
Fix wrong firing of critical introduced by previous optimisation.
2008-10-06 08:32:41 +00:00
Zaheer Abbas Merali
4c23ebf721 Patch from: Josep Torra
Original commit message from CVS:
Patch from: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Use a preallocated buffer per stream for PES packets sent on src pads.
Adaptively adjust buffer size appropriately.
2008-09-23 17:34:44 +00:00
Edward Hervey
7359989bdb gst/mpegdemux/: Fix conflicting public names in new mpeg demuxers.
Original commit message from CVS:
* gst/mpegdemux/flumpegdemux.c: (plugin_init):
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_sync_get_type),
(gst_flups_demux_get_type), (gst_flups_demux_plugin_init):
* gst/mpegdemux/gstmpegtsdemux.c: (gst_fluts_demux_get_type),
(gst_fluts_demux_plugin_init):
Fix conflicting public names in new mpeg demuxers.
Fixes #550468
2008-09-09 11:47:42 +00:00
Edward Hervey
104ca25ceb gst/mpegdemux/: Fix build on macosx.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_parse_pack_start):
* gst/mpegdemux/gstmpegtsdemux.c: (gst_fluts_demux_data_cb):
Fix build on macosx.
2008-09-02 17:43:42 +00:00
Zaheer Abbas Merali
555486f865 Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This is now dual licensed MPL and LGPL.
Original commit message from CVS:
* configure.ac:
* gst/mpegdemux/Makefile.am:
* gst/mpegdemux/flumpegdemux.c:
* gst/mpegdemux/flutspatinfo.c:
* gst/mpegdemux/flutspatinfo.h:
* gst/mpegdemux/flutspmtinfo.c:
* gst/mpegdemux/flutspmtinfo.h:
* gst/mpegdemux/flutspmtstreaminfo.c:
* gst/mpegdemux/flutspmtstreaminfo.h:
* gst/mpegdemux/gstmpegdefs.h:
* gst/mpegdemux/gstmpegdemux.c:
* gst/mpegdemux/gstmpegdemux.h:
* gst/mpegdemux/gstmpegdesc.c:
* gst/mpegdemux/gstmpegdesc.h:
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
* gst/mpegdemux/gstpesfilter.c:
* gst/mpegdemux/gstpesfilter.h:
* gst/mpegdemux/gstsectionfilter.c:
* gst/mpegdemux/gstsectionfilter.h:
Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This
is now dual licensed MPL and LGPL.
2008-09-02 12:04:32 +00:00