summaryrefslogtreecommitdiff
path: root/ext/ogg/gstoggmux.c
AgeCommit message (Collapse)AuthorFilesLines
2015-11-03oggmux: Use GstAudioClippingMeta for Opus for accurate end clippingSebastian Dröge1-14/+31
... instead of relying on the segment. For the clipping at the start we assume a proper value in the OpusHead, as generated by opusparse or opusenc. Transmuxing in general is not guaranteed to produce the correct values, or even have a OpusHead (e.g. when having RTP input). https://bugzilla.gnome.org/show_bug.cgi?id=757153
2015-11-02oggmux: Print GstClockTimeDiff as a signed integer in debug logsLuis de Bethencourt1-2/+2
2015-05-10docs: fix up example pipelineTim-Philipp Müller1-1/+1
2015-04-03oggmux: fix deadlock when not pulling a buffer from collectpadsVincent Penquerc'h1-2/+10
oggmux keeps a cached buffer per pad, and pulls buffers from collectpads to this cached buffer for all pads before processing the best pad. In some cases, the move from collectpads buffer to cached buffer is delayed till next call. However, when there is only one pad, this can't be delayed till next call as there will be a deadlock since collectpads has no other pad to push to. https://bugzilla.gnome.org/show_bug.cgi?id=740565
2015-02-07oggmux: Don't pass GstCollectData as a GstObject to GST_DEBUGJan Schmidt1-1/+1
2015-01-16oggmux: fix clipped duration determination for non 0 based segmentsVincent Penquerc'h1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=740422
2015-01-02oggmux: remove unused enumTim-Philipp Müller1-16/+0
2015-01-02oggmux: fix silly GQueue iteration codeTim-Philipp Müller1-4/+4
2014-12-26oggmux: only clip by duration if end of buffer is ahead of segmentThiago Santos1-1/+2
It might happen that the timestamp is before the segment and the check would succeed. In this case reducing the duration makes no sense and would lead to broken results.
2014-12-01Don't compare booleans for equality to TRUE and FALSESebastian Dröge1-1/+1
TRUE is 1, but every other non-zero value is also considered true. Comparing for equality with TRUE would only consider 1 but not the others.
2014-10-30oggmux: set correct granpos on last page when samples are clippedVincent Penquerc'h1-1/+19
Samples may be clipped at the end, and this is conveyed by a granulepos that's smaller than it would otherwise be. Use the segment stop time to detect this, and calculate the right granulepos.
2014-05-06oggmux: push eos event when empty pad dataLuis de Bethencourt1-7/+14
If gst_ogg_mux_queue_pads returns NULL it means we are at EOS, because we get a NULL buffer and this function never sets bestpad. https://bugzilla.gnome.org/show_bug.cgi?id=729315
2014-04-26docs: remove outdated and pointless 'Last reviewed' lines from docsTim-Philipp Müller1-2/+0
They are very confusing for people, and more often than not also just not very accurate. Seeing 'last reviewed: 2005' in your docs is not very confidence-inspiring. Let's just remove those comments.
2014-04-15oggmux: Clear Ogg streams before initing themSebastian Dröge1-0/+2
They might've been inited before, in which case we leak memory when initing them again without clearing.
2014-04-10oggmux: test for failure to return tagVincent Penquerc'h1-3/+7
It should really not happen unless the tag list it corrupt, but the API returns a failure code so we may as well use it. Coverity 1139595
2014-03-11oggmux: implement vp8 granulepos functionThiago Santos1-0/+4
Add an extra function to the oggstream map to inform it about the incoming buffers. This way oggmux can keep a count on the vp8 invisible frames and calculate the granulepos correctly. https://bugzilla.gnome.org/show_bug.cgi?id=722682
2014-03-11oggmux: create vp8 header data if not provided in capsThiago Santos1-0/+9
vp8 stream header shouldn't be assumed to be provided in caps always as this would repeat the same code in all demuxers/encoders. Instead, make oggmux generate them if they are not supplied. https://bugzilla.gnome.org/show_bug.cgi?id=722682
2014-02-13oggmux: properly flush when seeking at the beginningThiago Santos1-23/+55
Reset all internal status when collect pads forwards a flush-stop from the pads to be able to start the stream again.
2013-07-22ogg: Add support for group-id in the stream-start eventSebastian Dröge1-1/+2
2013-06-23ogg: Add Daala supportSebastian Dröge1-1/+1
2013-05-10oggmux: Make sure to always set caps on the srcpad and always send a segment ↵Sebastian Dröge1-8/+13
event Even if the srcpad is not linked at this point, it might be linked as result of setting the caps.
2013-05-10oggmux: don't send a segment event before the caps eventMathieu Duponchelle1-5/+4
https://bugzilla.gnome.org/show_bug.cgi?id=699971
2013-05-08oggmux: The best pad can't be EOSMathieu Duponchelle1-2/+2
The problem experienced is that the EOS was never emitted by oggmux during a rendering with GES. The proposed patch checks if the pad is EOS before deciding it's the "best pad". https://bugzilla.gnome.org/show_bug.cgi?id=699792
2013-04-17oggmux: add more logging and fix the object param for some loggingStefan Sauer1-34/+52
Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper with an early return.
2013-03-05oggmux: don't keep a static string beyond the ref of the owning objectStefan Sauer1-13/+10
Also move down the ref for the caps a bit, so tha we don't leak it in the branch that calls continue.
2013-03-03oggmux: don't crash on caps being NULLStefan Sauer1-10/+15
Also avoid unused variables if debugging is disabled.
2013-03-03ogg: small GValue optimisationTim-Philipp Müller1-6/+2
No need to copy buffers we put into the streamheader any more now that we don't put caps on buffers any more, so there's no danger of a refcount cycle.
2012-11-03Fix FSF addressTim-Philipp Müller1-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-09-23oggmux: send stream-start eventTim-Philipp Müller1-0/+6
2012-09-21oggmux: send a segment event at the beginningTim-Philipp Müller1-0/+17
2012-09-17gst: Update for link/unlink function API changeSebastian Dröge1-4/+2
2012-09-14replace gst_tag_list_free with gst_tag_list_unrefMark Nauwelaerts1-2/+2
2012-09-12collectpads: remove gst_collect_pads_add_pad_fullStefan Sauer1-1/+1
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all invocations.
2012-09-05oggmux: remove dead codeMark Nauwelaerts1-14/+0
2012-08-12oggmux: remove superflous assignmentStefan Sauer1-1/+0
2012-08-11oggmux: don't leak dropped seek eventTim-Philipp Müller1-6/+8
2012-08-10oggmux: pick delta pad earlier during header parsing and based on ↵Tim-Philipp Müller1-0/+5
video/non-video Pick delta pad earlier during header parsing, and pick it based on whether it's a video stream or not rather than some rather byzantine signalling from theoraenc etc. which would set the delta flag on header packets which oggmux would then pick up and determine that this is a "delta-able" stream. Since the new videodecoder-based theoraenc didn't do that any more, we would only see the first delta flag on the second video packet, which is after we've already muxed a few audio packets flagged as key units, which trips up the unit test. Fixes pipelines/oggmux unit test. https://bugzilla.gnome.org/show_bug.cgi?id=679958
2012-08-08No statements with side-effects in g_assert() or g_return_*() pleaseTim-Philipp Müller1-1/+2
2012-07-16oggmux: only drop flushing seeks after we started to muxStefan Sauer1-7/+16
Don't drop all seek events. It is okay to seek before we send the headers. Non flushing seeks are okay at any time later as well.
2012-04-17collectpads2: rename to collectpadsMark Nauwelaerts1-26/+26
2012-04-16oggmux: use standard collectpads event handlingMark Nauwelaerts1-12/+13
... rather than (old) hacked overriding.
2012-04-15ogg: update for media type typefinding changesTim-Philipp Müller1-5/+12
2012-04-10Use new gst_element_class_set_static_metadata()Tim-Philipp Müller1-1/+1
2012-03-30oggmux: Handle return values from GstByteWriterEdward Hervey1-20/+25
2012-02-08GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHINGWim Taymans1-1/+1
2012-01-30update for HEADER flag changesWim Taymans1-3/+3
2012-01-25port to new map APIWim Taymans1-23/+30
2011-12-30Merge remote-tracking branch 'origin/master' into 0.11Edward Hervey1-2/+7
Conflicts: ext/theora/gsttheoraenc.c gst-libs/gst/tag/gstexiftag.c gst/adder/gstadder.c gst/adder/gstadder.h gst/playback/gstdecodebin2.c gst/playback/gstsubtitleoverlay.c tests/check/libs/tag.c
2011-12-28oggmux: fix leak when initializing padsThiago Santos1-2/+7
Pads are initialized twice: when requesting pads and when initializing collectpads. Avoid double initialization by checking if collectpads are still going to be initialized when creating request pads.
2011-11-28various: fix pad template leaksVincent Penquerc'h1-4/+2
https://bugzilla.gnome.org/show_bug.cgi?id=662664