summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avi: rewrite index playbackWim Taymans2009-09-282-388/+628
| | | | | | disable code, start on reimplementing loop based operation. Rewrite the index handling so that all streams use their own index for decoding media.
* avidemux: add new index parsing codeWim Taymans2009-09-282-0/+211
| | | | | | | | | | | | Add a new function and datastructure to parse and hold the index entries on a per stream base. Also avoid doing too much work trying to figure out the timestamps and durations as we can trivially do that later. Less information in the entries makes them 2 times smaller and not doing too much work makes this code about 12 times faster than the regular case. Hook in the new function alongside the existing function for comparison until the rest of the code is updated to handle the new index datastructure.
* jpeg: handle more libjpeg return values, add some more branch hintsStefan Kost2009-09-281-34/+50
| | | | Also remove unused size variable in _chain().
* qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264Mark Nauwelaerts2009-09-251-0/+10
| | | | Fixes #596319.
* qtdemux: only send tag events downstream after newsegmentMark Nauwelaerts2009-09-251-16/+63
|
* rtspsrc: if transport protocol unsupported, try another oneMark Nauwelaerts2009-09-251-7/+35
| | | | | Also change error message to more accurately reflect cases in which it can occur.
* qtdemux: add durations modulo 1<<32Wim Taymans2009-09-251-1/+2
| | | | | | | For calculating the durations of each sample, we are supposed to add each duration modulo 1<<32 so make the elapsed time counter a uint32. Fixes #595942
* qtdemux: small cleanupWim Taymans2009-09-241-9/+11
|
* qtdemux: don't use core API that doesn't exist yetTim-Philipp Müller2009-09-241-1/+7
| | | | There's no gst_byte_reader_has_remaining() yet. Fixes build.
* qtdemux: map some atomparser functions to their new bytereader equivalentsTim-Philipp Müller2009-09-241-79/+27
| | | | | Now that GstByteReader has unchecked and inlined variants as well, map atomparser functions to their respective bytereader equivalents.
* qtdemux: add qt_atom_parser_has_chunks() and fix indentationTim-Philipp Müller2009-09-243-22/+33
|
* qtdemux: bail out instead of trying to alloc silly index sizesTim-Philipp Müller2009-09-241-3/+20
| | | | | | | If it looks like we would be allocating a silly size for our sample index, just bail out instead of trying to allocate it. Helps with broken or fuzzed files where we might end up trying to malloc a couple of hundred MBs otherwise.
* qtdemux: error out correctly if we don't even have enough bytes for an atom ↵Tim-Philipp Müller2009-09-241-4/+14
| | | | header
* qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing ↵Tim-Philipp Müller2009-09-241-1/+1
| | | | error message
* qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with ↵Tim-Philipp Müller2009-09-243-23/+30
| | | | _get_remaining()
* qtdemux: use GstByteReader when parsing tkhd atomTim-Philipp Müller2009-09-231-9/+16
|
* qtdemux: use unsigned ints for node length and do more sanity checking of ↵Tim-Philipp Müller2009-09-231-10/+23
| | | | the atom length
* qtdemux: use GstByteReader for atom dumping and fix a few bugsTim-Philipp Müller2009-09-234-305/+455
|
* qtdemux: move stco, stts, stss and stps atom parsing over to GstByteReaderTim-Philipp Müller2009-09-231-121/+155
| | | | | | | | | | | Make sure we don't read beyond the atom boundary. Note that the code behaves slightly differently in the corner case where there is not enough atom data for the specified number of samples (n_samples_time) in the atom, but still enough data to fill the pre-allocated index of n_samples entries: before we would just stop parsing the stts data and continue, whereas now we will likely error out. This should not be a problem in practice though. We could maintain the old behaviour by doing reads with a size check inside the loop if needed.
* qtdemux: use bytereader to parse stsz and stsc atomsTim-Philipp Müller2009-09-231-32/+99
| | | | | | Use GstByteReader to parse stsz and stsc chunks, and check size of available data before parsing it, instead of blindly assuming there will be enough data. Fixes crashes with some fuzzed/broken files.
* qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()Tim-Philipp Müller2009-09-231-2/+28
|
* qtdemux: add QtAtomParser, an inlined GstByteReader variantTim-Philipp Müller2009-09-233-0/+127
|
* matroskademux: use proper order for no-more-pads and newsegment and tag sendingMark Nauwelaerts2009-09-232-12/+48
|
* matroskademux: sprinkle a few branch prediction macrosMark Nauwelaerts2009-09-231-8/+7
|
* Fix compile warnings with gcc 4.0.1.Alessandro Decina2009-09-224-13/+13
|
* matroskamux: Don't get stuck in an infinite loop with DiracJan Schmidt2009-09-221-2/+7
| | | | | | At the end, Dirac streams have an EOS packet with 0 length. Don't ever sit in an infinite loop when processing one. Allows muxing Dirac into mkv to complete successfully.
* Update .gitignoreTim-Philipp Müller2009-09-221-0/+2
|
* videomixer: fix up Makefile some moreTim-Philipp Müller2009-09-221-1/+1
| | | | | Remove CFLAGS from LIBADD and make order of the various CFLAGS and LIBS at least consistent with each other.
* videomixer: Add $(GST_PLUGINS_BASE_LIBS) to LDFLAGS for linking libgstvideoBrian Cameron2009-09-221-1/+1
| | | | Fixes bug #595897.
* avi: fix timestamps in push modeWim Taymans2009-09-211-6/+8
|
* jpegdec: add a G_UNLIKELY and put perf-cat log to code path that copiesStefan Kost2009-09-211-1/+6
|
* avi: add some performance measurementsWim Taymans2009-09-211-4/+38
| | | | | Measure the performance of various index and header parsing steps to the PERFORMANCE debug category.
* speexdec: allow for unknown varying number of frames per bufferMark Nauwelaerts2009-09-181-3/+4
| | | | | In particular, this caters for RTP payloads with multiple frames per packet.
* speexdec: use correct sample size in conversionsMark Nauwelaerts2009-09-181-4/+4
|
* speexenc: fix buffer time and duration for multiple frames per packetMark Nauwelaerts2009-09-181-4/+5
|
* avidemux: some logging cleanup to help understanding the index parsing overheadStefan Kost2009-09-181-14/+38
|
* osxaudio: link against GST_BASE_LIBSDavid Schleef2009-09-161-0/+1
|
* rtpg729pay: Fix adapter leakOlivier Crête2009-09-151-1/+1
| | | | The adapter would be leaked if it was empty and the data could be pushed out directly.
* pulsesrc: Don't dereference NULL pointersSebastian Dröge2009-09-151-0/+5
| | | | | | pa_stream_get_timing_info() can return NULL. Fixes bug #595220.
* pulsesink: Don't dereference NULL pointersDavid Henningsson2009-09-151-0/+4
| | | | | | pa_stream_get_timing_info() can return NULL. Fixes bug #595220.
* pulsesink: handle stream eventsWim Taymans2009-09-141-0/+33
| | | | | Handle stream events and request a PAUSE/PLAY state change from the application when we receive a CORK/UNCORK event.
* multifilesink: Add next-file propertyDavid Schleef2009-09-132-17/+131
| | | | | | | | Add a property to allow control over what event causes a file to finish being written and a new file start. The default is the same as before -- each buffer causes a new file to be written. Added is a case where buffers are written to the same file until a discontinuity in the stream.
* dvdemux: Use values from decoder structure directlyDavid Schleef2009-09-132-11/+7
| | | | | | Don't store the same values in the GstDvDemux. This fixes a bug where dvdemux would detect a stream as PAL instead of NTSC, and silently parse it wrong.
* dvdemux: Add code to parse SMPTE time codesDavid Schleef2009-09-134-0/+393
| | | | Code to convert time codes to/from timestamps and frame numbers.
* dvdemux: Fix detection of new mediaDavid Schleef2009-09-132-1/+33
| | | | | | There are 5 or 6 AAUX source control packs in a frame, and any of them could have REC_ST cleared, indicating a recording start point. libdv only checks the first.
* dvdemux: Set DISCONT flag on buffers when REC_ST flag is set.Edward Hervey2009-09-121-6/+10
| | | | Also add a few branch prediction macros
* check: Fix a couple of tests.Jan Schmidt2009-09-122-2/+2
| | | | | | | The souphttpsrc test wasn't compiling. The soup-misc.h header is needed for soup_ssl_supported. Fix the y4menc test to use a 'progressive' header for the test data now that the element outputs correct interlacing info.
* wavparse: treat a zero-sized data chunk as extending to the end of the file.Michael Smith2009-09-111-2/+7
| | | | | This fixes playback of some files that don't have a valid data chunk length, apparently some program creates these.
* v4l2src: add a function pointer for get_frame function and optimize a bitStefan Kost2009-09-112-8/+18
| | | | | Use a function-pointer for mmap/read, as this can't change during capture. Also sprinkle a few G_LIKELY/UNLIKELY to improve the error-less code path.
* v4l2: log buffer copies on queue underrun in perf categoryStefan Kost2009-09-112-0/+7
| | | | | v4l2src has a slow path where it does buffer-copies when it runs out of queued buffers. Log this to performance category to help monitoring it.