summaryrefslogtreecommitdiff
path: root/ext/ogg/gstoggmux.c
AgeCommit message (Collapse)AuthorFilesLines
2011-06-16-base: port elements to new video capsnew-video-capsWim Taymans1-1/+1
2011-06-13Merge branch 'master' into 0.11Wim Taymans1-111/+45
2011-06-10oggmux: refactor how EOS is determinedDavid Schleef1-111/+45
This decreases the number of buffers held on each pad by one, eliminating next_buffer. Simplifies the logic by relying solely on CollectPads to let us know when a pad is in EOS. As a side benefit, the collect pads related code is structured more like other CollectPad users. The previous code would occasionally mark the wrong pad as EOS, causing the code to get in a state where all the streams were finished, but EOS hadn't been sent to the source pad.
2011-06-06Merge branch 'master' into 0.11Wim Taymans1-16/+144
Conflicts: ext/theora/gsttheoraenc.c
2011-06-06oggmux: determine granulepos metadata using stream mapper whenever possibleMark Nauwelaerts1-1/+111
... which unfortunately is not the case for all types, but at least so for most common ones.
2011-06-06oggmux: convert incoming buffer timestamp to running timeMark Nauwelaerts1-11/+32
... so all subsequent manipulation can take place in the proper timeline without further ado.
2011-06-06oggmux: remove superfluous codeMark Nauwelaerts1-5/+0
... since there is nothing in oggstream that cares (or even should) about granulepos for what is being asked from it.
2011-06-03oggmux: Use the GstPad (and not the GstOggPadData for GstPad functionsEdward Hervey1-1/+1
For those willing, renaming that 'pad' variable to something more obvious would be nice to avoid such bugs...
2011-05-18base: Update for SEGMENT event parse API changesSebastian Dröge1-3/+3
2011-05-16ogg: Update for negotiation related API changesSebastian Dröge1-1/+1
2011-05-16-base: port to new SEGMENT APIWim Taymans1-12/+6
2011-05-10-base: fix for now request pad APIWim Taymans1-2/+2
2011-05-09segment: fix for new core APIWim Taymans1-2/+2
Fix for gst_*_segment_full rename.
2011-05-09-base: don't use buffer capsWim Taymans1-10/+7
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-04-19ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATESebastian Dröge1-55/+13
2011-04-16Merge branch 'master' into 0.11Sebastian Dröge1-1/+12
2011-04-16oggmux: prefer headers from caps to determine stream typeVincent Penquerc'h1-1/+12
Ogg mandates the first header packet must determine a stream's type. However, some streams (such as VP8) do not include such a header when muxed in other containers, and thus do not include this header as a buffer, but only in caps. We thus use headers from caps when available to determine a new stream's type. https://bugzilla.gnome.org/show_bug.cgi?id=647856
2011-04-16Merge branch 'master' into 0.11Sebastian Dröge1-9/+7
2011-04-13ogg: fix unused-but-set-variable warnings with gcc 4.6Tim-Philipp Müller1-3/+1
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12oggmux: fix uninitialised variable usage and element leakTim-Philipp Müller1-6/+6
gcc on OSX complains about ret being used uninitialized in this function, and it is right. Don't leak element ref when returning early because newsegment event is not in TIME format.
2011-04-04Merge branch 'master' into 0.11Wim Taymans1-12/+48
Conflicts: gst-libs/gst/tag/gstvorbistag.c
2011-04-01oggmux: fix warning building in mac os xJosep Torra1-1/+1
2011-04-01oggmux: Store the segment directly inside the padSebastian Dröge1-19/+10
Also initialize it always in TIME format. We require TIME segments in oggmux anyway and drop newsegment events in other formats and assume an open-ended segment starting at 0.
2011-04-01oggmux: Reset the segment on flush-stop events and when going back to READYSebastian Dröge1-0/+6
2011-04-01oggmux: Use running time instead of timestampsThiago Santos1-7/+18
Theora and vorbis use running time (which is correct) for calculating the granulepos for their ogg packets. Oggmux, however, used timestamps to order the received buffers. This patch makes it use the running time to compare buffer times and also to timestamp pushed buffers. Some bits of the code still use timestamps, but they are only used to calculate durations, so it should be fine. https://bugzilla.gnome.org/show_bug.cgi?id=643775
2011-04-01oggmux: Keep track of pad's segmentsThiago Santos1-4/+32
https://bugzilla.gnome.org/show_bug.cgi?id=643775
2011-03-27plugins: more porting to new memory APIWim Taymans1-13/+23
2011-03-14oggmux: Increase the seen header packets count when seeing a header packetSebastian Dröge1-0/+1
This fixes muxing of Speex content and possibly other formats where the header detection works by counting the packets. Fixes bug #644745.
2011-02-24oggmux: Don't handle GstCollectData as GstObject, use the pad insteadSebastian Dröge1-3/+3
2011-02-21Revert "oggmux,adder: Check if collectpads has been freed"Edward Hervey1-3/+1
This reverts commit 6d150873e8b4c23d694b0351570de323b1576d76. Depends on a core commit that was reverted.
2011-02-20oggmux,adder: Check if collectpads has been freedDavid Schleef1-1/+3
Core now calls release_pad in finalize, which is usually after the collectpads has been unreffed.
2011-02-03oggmux: ensure serialnos are uniqueVincent Penquerc'h1-1/+29
We do that by checking a newly generated one is not already used in an existing stream, and doing it again if it is. https://bugzilla.gnome.org/show_bug.cgi?id=640211
2011-02-02oggmux: free stream map caps when doneTim-Philipp Müller1-0/+1
2011-02-02oggmux: keep IN_CAPS flag check for header buffers as fallbackTim-Philipp Müller1-7/+16
In case the ogg mapper doesn't handle all the accepted input formats (although it really should). Saves us error handling for that case though. Also log caps properly. https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-02-02oggmux: use oggstream for less brittleness in recognizing headersVincent Penquerc'h1-30/+50
Using the IN_CAPS flag for this is brittle, and will fail if either vorbisparse or vorbistag (which is itself based on vorbisparse) is inserted between oggdemux and oggmux. Possibly other elements too (eg, theoraparse, etc). Using oggstream ensures we Get It Right More Often Than Not. https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-02-01oggmux: do not skip a pageno at startVincent Penquerc'h1-5/+12
Discontinuities are automatically signalled by oggdemux at the start of a new stream. When oggmux is yet to output actual data pages, do not signal these discontinuities in the ogg stream. This patch may miss some actual discontinuities at the very start of a stream, but avoids the spurious missing pages when encoding happens normally. A better fix might involve finding a way to distinguish between actual data discontinuities and discontinuities merely marking the start of a new stream. Fixes an issue with ogg page numbering (would skip a number for no reason, which then looks like a packet was lost somewhere) when re-muxing an ogg stream, e.g. when re-tagging in rhythmbox. https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-01-24oggmux: cleanupVincent Penquerc'h1-2/+2
Remove a pointless string concatentation, and fix an off-by-one in packetno in a log. https://bugzilla.gnome.org/show_bug.cgi?id=640189
2010-06-08oggmux: Start a new page for every CMML bufferSebastian Dröge1-0/+4
2010-05-19ogg: Implement Ogg VP8 mappingSebastian Dröge1-3/+6
2010-04-16docs: fix typo in link nameStefan Kost1-1/+1
2010-03-16gst_element_class_set_details => gst_element_class_set_details_simpleBenjamin Otte1-8/+4
Also change my email from the old university one to the current one.
2010-03-11Add -Wmissing-declarations -Wmissing-prototypes to warning flagsBenjamin Otte1-29/+29
Includes all the fixes necessary to make stuff compile again.
2010-03-09oggmux: Don't flush after every frame for theoraDavid Schleef1-1/+0
2009-11-21oggmux: don't overwrite object propertiesDavid Schleef1-2/+3
2009-10-09ogg: fixes warnings on macosx snow leopardJosep Torra1-8/+11
2009-08-20oggmux: don't drop the streamheader field from the output capsTim-Philipp Müller1-6/+8
Revert previous 'fix' for bug #588717 and fix it properly, whilst maintaining the streamheader field on the output caps. Also make sure we don't leak header buffers we couldn't push when downstream is unlinked. Add unit test for the presence of the streamheader field on the output caps and for the issue from bug #588717.
2009-08-08ext: Remove dead assignments and resulting unused variables.Edward Hervey1-3/+0
2009-08-07oggmux: fix warning when we're not linked downstream and error out properlyTim-Philipp Müller1-3/+3
Fix caps warning when there's no element linked downstream, and pass not-linked flow return value correctly up the chain, so we error out correctly. Fixes #588717.
2009-07-13oggmux: add Kate caps to the list of accepted typesVincent Penquerc'h1-1/+2
See #525743.
2009-05-15oggmux: Implement Preset interfaceSebastian Dröge1-0/+7