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
Zaheer Abbas Merali
e8ca380063
hack for itvhd sid to detect mpeg1 as h264
2009-04-21 12:09:31 +01:00
Zaheer Merali
71be79f668
mpegtsparse: fix leak of GST_TYPE_LIST gvalue
2009-04-18 23:42:57 +01:00
Zaheer Merali
c9ae67fac9
mpegtsparse: fix leak in src_pad_query
2009-04-18 13:09:23 +01:00
Josep Torra
6cb429eb4f
mpegpsdemux: workaround to fix playback of certain malformed clips
...
Added a workarround to permit play certain malformed clips where first
SCR is greater than last SCR. Fixes bug #454228
2009-03-13 10:07:18 +00:00
Josep Torra
bfdfc069aa
mpegdemux: Fixed a bug in the TS scanner. Fixes #574009
2009-03-10 21:18:20 +01:00
Josep Torra
ff1a6b4b22
mpegtsdemux: reset sync_lut_len to 0 on READY to NULL
2009-03-04 18:16:31 +00:00
Sebastian Pölsterl
12ac5763f9
mpegtsparse: fix memleak
...
Fix memleak in mpegts_packetizer_clear where MpegTSPacketizerStream is
not freed properly when using foreach_stream_clear function.
2009-03-03 19:08:28 +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
vanista
38dd0f6410
mpegtsdemux: Fix memory leaks when PUSI is missed due to packet loss
...
Fixes bug #573288 .
2009-02-28 19:41:10 +01:00
Wim Taymans
9a0e1e0dca
mpegdemux: don't ignore GstFlowReturn values
...
don't ignore the return value of pull_range because we only get a valid non-NULL
buffer when the return value is GST_FLOW_OK. Avoids a crash when the pipeline is
shutting down.
2009-02-25 11:34:45 +01:00
Zaheer Merali
571d51ac92
mpegtsdemux: s/fluts/mpegts
...
Change all definitions from fluts to mpegts.
2009-02-19 11:36:45 +00:00
Julien Moutte
8ad4f28d67
Make the demuxer reusable in READY->PLAYING->READY->PLAYING cycles by
...
flushing adapters correctly.
2009-02-12 22:40:48 +01:00
Josep Torra
e3fcf51e2c
mpegpsdemux: fixes clossing segment generation.
...
Ensure that the clossing segment is generated correctly and being
properly pushed.
Added some GST_DEBUG to check it.
Ensure that last_stop is updated in stream time.
Calculate duration as delta of PTS as it seems more correct than delta
of SCR in some clips that I tested.
2009-02-04 22:50:30 +01:00
Josep Torra
f44b64ce92
mpegpsdemux: several fixes on the seeking function in pul mode.
...
Removed a line wrongly copy pasted in my previous commit.
Avoid an unsigned integer overflow.
Seek last_stop in stream time.
Clamp last_stop in stream time between first and last SCR.
Fixed a typo in the GST_DEBUG line and added some more info.
2009-02-04 22:17:36 +01:00
Josep Torra
77bc3a162c
Moved var declarations to the begin of function
2009-02-04 16:20:40 +01:00
Josep Torra
5d1abdbe2c
Improved seeking in pull mode. Some refactoring and small fixes
2009-02-04 16:11:23 +01:00
Josep Torra
c8eb591688
Add pull mode to mpegpsdemux and report duration reading first and last PTS. Some random cleanups.
2009-02-02 23:12:07 +01:00
Josep Torra
3b7f1bc988
mpegdemux: do not skip pes packets that we think are encrypted
...
pes packets that claim to be encrypted may not be so, so treat as normal.
Just log the flags.
2009-01-28 12:49:39 +00:00
Zaheer Merali
b34204a54b
Revert "mpegdemux: do not skip pes packets that we think are encrypted"
...
This reverts commit d3e4e5598f
.
2009-01-28 12:27:42 +00:00
Josep Torra
d3e4e5598f
mpegdemux: do not skip pes packets that we think are encrypted
...
pes packets that claim to be encrypted may not be so, so treat as normal.
Just log the flags.
2009-01-28 12:19:09 +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
Zaheer Abbas Merali
3a2cdc25e1
gst/mpegdemux/mpegtspacketizer.c: Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
...
Original commit message from CVS:
* gst/mpegdemux/mpegtspacketizer.c:
Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
2009-01-05 17:41:51 +00:00
Zaheer Abbas Merali
f0ed18f2ed
gst/mpegdemux/gstmpegdesc.h: Fix up satellite delivery subsystem defs.
...
Original commit message from CVS:
* gst/mpegdemux/gstmpegdesc.h:
Fix up satellite delivery subsystem defs.
2009-01-05 17:30:55 +00:00
Zaheer Abbas Merali
6decc6f3c1
gst/mpegdemux/gstmpegdesc.h: Fix up terrestrial delivery system descriptor defs.
...
Original commit message from CVS:
* gst/mpegdemux/gstmpegdesc.h:
Fix up terrestrial delivery system descriptor defs.
They should be shifted otherwise wrong values are seen.
2009-01-05 17:26:00 +00:00