gstreamer/gst
Thiago Santos 90a5565229 qtdemux: do not ignore empty segments
Make sure empty segments are used and pushed with a gap event
to represent its data (or lack of it)

Each QtSegment is mapped into a GstSegment with the corresponding
media range. For empty QtSegments a gap event is pushed instead
of GstBuffers and it advances to the next QtSegment.

To make this work with seeks, need to keep track of the starting
'base' to make sure it remains consistently increasing when
pushing new segment events.
For example: if a seek makes qtdemux start from 5s, the first
segment will have a base=0. When the next segment is activated,
its base time will be QtSegment.time - qtdemux.segment_base so
that it doesn't include the first 5s that weren't played and
shouldn't be accounted on the running time

This purposedly will remove the fix made for
https://bugzilla.gnome.org/show_bug.cgi?id=700264, at this
point it was decided to respect the gaps, even if they cause
a delay on playback, because that's the way the file was crafted.

https://bugzilla.gnome.org/show_bug.cgi?id=345830
2014-01-15 15:33:45 -03:00
..
alpha alpha: use POFFSET instead of OFFSET 2013-09-23 14:45:23 +02:00
apetag g_memmove() is deprecated 2013-11-21 15:30:34 +00:00
audiofx docs: get rid of 'Since: 0.10.x' markers 2013-11-18 14:47:35 +00:00
audioparsers Revert "aacparse: relax the detection of ADTS" 2014-01-14 09:43:56 +00:00
auparse gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
autodetect g_memmove() is deprecated 2013-11-21 15:30:34 +00:00
avi avidemux, waveparse: more logging for unhandled chunks 2014-01-06 13:55:36 +01:00
cutter gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
debugutils rndbuffersize: Proxy CAPS, ALLOCATION, SCHEDULING and srcpad events properly 2013-12-24 14:40:25 +01:00
deinterlace deinterlace: support any video formats and any caps features if deinterlace mode allows it 2014-01-03 11:22:01 +01:00
dtmf g_memmove() is deprecated 2013-11-21 15:30:34 +00:00
effectv gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
equalizer gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
flv docs: get rid of 'Since: 0.10.x' markers 2013-11-18 14:47:35 +00:00
flx flxdec: Properly skip non-frame chunks 2013-05-24 19:34:05 +02:00
goom goom: Fix MMX assembly compilation with clang 2013-09-21 18:48:19 +02:00
goom2k1 goom2k1: Fix event handling and negotiate as soon as possible 2013-07-17 14:30:16 +02:00
icydemux icydemux: Fix sticky event handling 2013-05-13 15:19:25 +02:00
id3demux gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
imagefreeze gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
interleave deinterleave: Don't hold object lock while sending events downstream 2013-07-01 11:37:00 +02:00
isomp4 qtdemux: do not ignore empty segments 2014-01-15 15:33:45 -03:00
law mulawdec: Require caps to be set before accepting any data 2013-12-05 12:15:29 +01:00
level level: remove unused variables in instance struct 2013-06-01 21:34:37 +02:00
matroska matroskademux: don't leak TOC chapter list 2014-01-10 16:50:11 +00:00
monoscope monoscope: Fix debug statement 2013-04-26 12:16:49 +02:00
multifile multifilesrc: Implement seeking in case of multiple images 2013-11-22 18:52:54 -03:00
multipart docs: get rid of 'Since: 0.10.x' markers 2013-11-18 14:47:35 +00:00
replaygain replaygain: fix taglist leak in rganalysis 2013-09-02 23:00:29 +01:00
rtp rtpg726pay: don't leak encoding_name string 2014-01-14 10:29:47 +01:00
rtpmanager rtprtxsend: remove wrong check for payload type not having been set 2014-01-15 10:13:12 +01:00
rtsp rtspsrc: use new method to get media-type 2014-01-07 15:04:02 +01:00
shapewipe shapewipe: Can't map twice the same buffer for writing 2013-05-10 09:27:02 +02:00
smpte docs: get rid of 'Since: 0.10.x' markers 2013-11-18 14:47:35 +00:00
spectrum gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
udp udpsrc: on receive error only unmap and unref buffer if one was alloced and mapped 2013-12-19 20:35:03 +00:00
videobox docs: get rid of 'Since: 0.10.x' markers 2013-11-18 14:47:35 +00:00
videocrop videocrop: Add support for GRAY16_LE/GRAY16_BE 2013-05-15 09:29:30 +02:00
videofilter videoflip: don't crash on tag events without orientation tag 2013-11-28 16:09:04 +00:00
videomixer videomixer: Simplify NV12/21 blending code macros 2013-11-29 19:57:46 +01:00
wavenc wavenc: generate a non-empty data header 2013-11-09 11:22:12 +01:00
wavparse wavparse: remove ifdef'ed code 2014-01-06 13:55:36 +01:00
y4m y4mencode: Remove dead code 2013-12-30 13:50:35 +01:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00