Edward Hervey
5c77682dab
tsdemux: Take into account upstream newsegment events
...
If the incoming newsegment event was in time, use that position value
for the downstream newsegments.
2011-08-01 18:49:55 +02:00
Edward Hervey
57279cdd24
tsdemux: Refactor stream/program removal
...
The program_stopped vmethod was called before stream_removed vmethod
was being called. Since we only did stream-related operations in there,
we just remove the program_stopped vmethod and do everything in the
stream_removed one.
Also, make sure we flush out all pending data before sending EOS.
2011-08-01 10:54:16 +02:00
Edward Hervey
634d29cd88
mpegtsbase/tsdemux: Fix stream/pad activation order
...
We first activate new streams before shutting down old ones.
We emit no-more-pads after we add new streams and emit EOS before
removing old ones.
Also cleanup/refactor a bit more of the code accordingly
2011-07-25 18:56:49 +02:00
Edward Hervey
a960e72efa
mpegtsbase/tsdemux: Add more comments and removal unused variable
2011-07-19 09:49:40 +02:00
Edward Hervey
b170b2020c
mpegtsbase: Add a GList of streams to the program
...
Allows faster iteration of all program streams.
We still keep the Array to allow fast retrieval of stream by PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
dc18e2b16d
mpegtsbase: Use a bit array instead of an array of gboolean
...
Makes know_psi and is_pes 32 times smaller
2011-07-19 09:49:39 +02:00
Edward Hervey
177e00f809
tsdemux: Use standalone PES parser
2011-07-18 09:13:15 +02:00
Edward Hervey
f6f885ddb8
tsdemux: whoops, tsdemux isn't ready yet for primary rank :)
2011-07-16 13:51:44 +02:00
Edward Hervey
a00900367a
mpegtsbase/tsdemux: Cleanups and comments
2011-07-16 13:47:45 +02:00
Edward Hervey
9f1511e998
tsdemux: Fix newsegment creation for push mode
...
And all relevent comments to what it should be doing, refactor everything
a bit. Still not perfect ... but better.
Fixes #654657
2011-07-16 13:44:00 +02:00
Olivier Crête
d7a774cc44
mpegdemux: Fix unused-but-set warnings
2011-07-12 17:53:33 -04:00
Thiago Santos
ca8ea19cc3
tsdemux: only free the index array if it exists
...
Only free the array if it exists.
Contains an unrelated indentation fix, courtesy of gst-indent
2011-06-17 16:18:03 -03:00
Edward Hervey
b3ef72f2eb
tsdemux: Don't free unexistent PAT
...
And cleanup find_timestamps a bit
2011-06-12 11:27:30 +02:00
Edward Hervey
e1a7d71184
tsdemux: More fixes to handle non-188 byte packets
2011-06-07 20:50:35 +02:00
Edward Hervey
6c0254b84b
mpegts: Stop scanning for keyframes as early as possible
2011-06-07 20:50:35 +02:00
Janne Grunau
ae2e7624d6
mpegtsdemux: always try to seek for to a keyframe
...
keyframe is expected to lie in the the next ~2500 ms
2011-06-07 20:50:35 +02:00
Janne Grunau
9352cfc478
mpegtsdemux: fix timestamps in newsegement event after seeking
2011-06-07 20:50:34 +02:00
Janne Grunau
cde65d6d6e
mpegtsdemux: payload parsing for H.264
2011-06-07 20:50:34 +02:00
Janne Grunau
ff15d6fa80
mpegtsdemux: implement key_unit seeking for MPEG2 video
2011-06-07 20:50:34 +02:00
Janne Grunau
3ce1ec7c9c
mpegtsdemux: accurate seeking
...
* pes header parsing for pts is ugly, refactor
* timestamps/newsegment after seeking is still off
2011-06-07 20:50:34 +02:00
Janne Grunau
15391b29e1
mpegtsdemux: push based seeking based on PCR
...
buffer timestamps are converted to GstClockTime to cover pcr/pts wraps.
multiple pcr/pts wraps are handled with an index which ensures at most
a single pcr wraparound between two entries.
the last seen pcr is recorded to have a nearby index point for short seeks
resuming playback might be delayed if the postion is not a keyframe
TODO: replace manual packet scanning and parsing in the initial duration estimation
2011-06-07 20:50:34 +02:00
Janne Grunau
f89a0abca0
mpegtsdemux: create function for pcr parsing
2011-06-07 20:50:34 +02:00
Edward Hervey
f4c96f1dbb
tsdemux: Fix scanning on small files
...
We were previously:
* Stopping early in the initial PCR scan
* Giving a negative offset for the second PCR scan
2011-05-31 12:58:11 +02:00
Edward Hervey
ffc9303c9d
tsdemux: Protect against program being removed
2011-05-30 13:01:20 +02:00
Stefan Kost
79e3b5b4bb
various: fix author tag in element details
2011-05-18 10:31:38 +03:00
Edward Hervey
21add205b7
tsdemux: Don't leak bufferlist on streams without pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
Edward Hervey
390502a093
tsdemux: Free packet buffer even if it doesn't have a payload
...
This can happen with AFC-only packets. Avoids leaking buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
David Schleef
40f3b4a651
mpegtsdemux,tsdemux: Add byte-stream to h264 caps
...
Fixes #606662 .
2011-04-24 19:40:08 -07:00
Janne Grunau
3ebc8a43e2
mpegtsdemux: do not try to parse packets containing section data as PES
2011-03-21 19:30:17 +01:00
Janne Grunau
bf046719a2
mpegtsdemux: add stream types for DSM CC A, B, C, D
2011-03-21 19:27:08 +01:00
Janne Grunau
22ecf13e42
mpegtsdemux: add MPEG TS demuxer rewrite from Edward Hervey
...
with contributions from Miquel Angel Farre Guiu and Zaheer Abbas Merali
2011-02-17 17:56:59 +01:00