summaryrefslogtreecommitdiffstats
path: root/gst/aacparse
AgeCommit message (Collapse)AuthorFilesLines
2009-07-14aacparse: Add function for the baseparse subclass to push buffers downstreamSebastian Dröge2-27/+60
Also handle the case gracefully where the subclass decides to drop the first buffers and has no caps set yet. It's still required to have valid caps set when the first buffer should be passed downstream.
2009-07-14baseparse: Fix seek event leakingSebastian Dröge1-2/+3
2009-06-19aacparse: ADIF: do not send bogus timestamps, leave to downstream (decoder)Mark Nauwelaerts1-2/+6
2009-06-02aacparse: fix sample rate extraction from codec dataTim-Philipp Müller1-22/+20
In one case we extracted the sample rate index from the codec data and saved it as sample rate rather than getting the real sample rate from the table. Fix that, and also make sure we don't access non-existant table entries by adding a small helper function that guards against out-of-bounds access in case of invalid input data.
2009-06-02aacparse, amrparse: remove bogus gst_pad_fixate_caps() callsTim-Philipp Müller1-1/+0
2009-06-02baseparse: propagate return value of GstBaseParse::set_sink_caps()Tim-Philipp Müller1-1/+1
gst_base_parse_sink_setcaps() presumably should fail if the subclass returns FALSE from its ::set_sink_caps() function.
2009-06-02baseparse: don't try to GST_LOG an already-freed caps stringTim-Philipp Müller1-6/+2
The proper way to log caps is via GST_PTR_FORMAT anyway.
2009-06-02aacparse: set channels and rate on output caps, and keep codec_dataTim-Philipp Müller1-7/+17
Create output caps from input caps, so we maintain any fields we might get on the input caps, such as codec_data or rate and channels. Set channels and rate on the output caps if we don't have input caps or they don't contain such fields. We do this partly because we can, but also because some muxers need this information. Tagreadbin will also be happy about this.
2009-05-28baseparse: fix debug categoryMark Nauwelaerts1-1/+1
2009-05-03baseparse: fix (regression in) newsegment handlingMark Nauwelaerts1-16/+8
(aacparse, amrparse, flacparse). Fixes #580133.
2009-04-07baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, ↵René Stadler1-1/+1
flacparse)
2009-04-05baseparse: Fix push mode seeking (aacparse, amrparse)René Stadler1-5/+12
Sending the flush-start event forward before taking the stream lock actually works, in contrast to deadlocking in downstream preroll_wait (hunk 1). After that we get the chain function being stuck in a busy loop. This is fixed by updating the minimum frame size inside the synchronization loop because the subclass asks for more data in this way (hunk 2). Finally, this leads to a very probable crash because the subclass can find a valid frame with a size greater than the currently available data in the adapter. This makes the subsequent gst_adapter_take_buffer call return NULL, which is not expected (hunk 3).
2009-03-31baseparse: Delay newsegment as long as possible.Mark Nauwelaerts1-25/+34
If newsegment is sent (too) early, caps may not yet be fixed/set, and downstream may not have been linked.
2009-03-23aacparse: Fix busyloop when seeking. Fixes #575388René Stadler1-5/+0
The problem is that after a discont, set_min_frame_size(1024) is called when detect_stream returns FALSE. However, detect_stream calls check_adts_frame which sets the frame size on its own to something larger than 1024. This is the same situation as in the beginning, so the base class ends up calling check_valid_frame in an endless loop.
2009-03-23aacparse: Refactor check_valid_frame to expose broken codeRené Stadler1-8/+20
Just moving code around and removing an unhelpful/misleading comment.
2009-02-27baseparse: revert last change and properly fixStefan Kost1-4/+6
Baseparse internaly breaks the semantics of a _chain function by calling it with buffer==NULL. The reson I belived it was okay to remove it was that there is also an unchecked access to buffer later in _chain. Actually that code is wrong, as it most probably wants to set discont on the outgoing buffer.
2009-02-26baseparse: remove checks for buffer==NULLStefan Kost1-9/+5
Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would leave the check, we would also need more such check below.
2009-02-11aacparse: Fix license specified in plugin details.René Stadler1-2/+1
2009-01-30Fix the return value of the default parse_frame function.Jan Schmidt1-3/+3
Fix the return value of the default parse_frame function in both copies of GstBaseParse
2009-01-23Log aac details found in codec_data.Stefan Kost1-0/+3
2008-11-13gst/aacparse/gstaacparse.c: Don't autoplug aacparse until it works.Wim Taymans1-1/+1
Original commit message from CVS: * gst/aacparse/gstaacparse.c: (plugin_init): Don't autoplug aacparse until it works.
2008-11-13gst/: Fix baseparse type name.Stefan Kost1-1/+1
Original commit message from CVS: * gst/aacparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.c: Fix baseparse type name.
2008-11-13Add two new baseparse based parsers (aac and amr) from Bug #518857.Stefan Kost5-0/+2965
Original commit message from CVS: * configure.ac: * gst/aacparse/Makefile.am: * gst/aacparse/gstaacparse.c: * gst/aacparse/gstaacparse.h: * gst/aacparse/gstbaseparse.c: * gst/aacparse/gstbaseparse.h: * gst/amrparse/Makefile.am: * gst/amrparse/gstamrparse.c: * gst/amrparse/gstamrparse.h: * gst/amrparse/gstbaseparse.c: * gst/amrparse/gstbaseparse.h: Add two new baseparse based parsers (aac and amr) from Bug #518857.