Mark Nauwelaerts
0fac7b5347
qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264
...
Fixes #596319 .
2009-09-25 19:23:15 +02:00
Mark Nauwelaerts
e21d16a4f8
qtdemux: only send tag events downstream after newsegment
2009-09-25 16:47:42 +02:00
Mark Nauwelaerts
50d5c8dce5
rtspsrc: if transport protocol unsupported, try another one
...
Also change error message to more accurately reflect cases in which
it can occur.
2009-09-25 16:47:39 +02:00
Wim Taymans
03f46a42e5
qtdemux: add durations modulo 1<<32
...
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
2009-09-25 11:54:06 +02:00
Wim Taymans
4e114a2b24
qtdemux: small cleanup
2009-09-24 20:38:54 +02:00
Tim-Philipp Müller
01e00ba1cd
qtdemux: don't use core API that doesn't exist yet
...
There's no gst_byte_reader_has_remaining() yet. Fixes build.
2009-09-24 19:33:39 +01:00
Tim-Philipp Müller
fab4113c24
qtdemux: map some atomparser functions to their new bytereader equivalents
...
Now that GstByteReader has unchecked and inlined variants as well, map
atomparser functions to their respective bytereader equivalents.
2009-09-24 16:34:08 +01:00
Tim-Philipp Müller
0f197776e1
qtdemux: add qt_atom_parser_has_chunks() and fix indentation
2009-09-24 16:32:02 +01:00
Tim-Philipp Müller
f65e6ea3a1
qtdemux: bail out instead of trying to alloc silly index sizes
...
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.
2009-09-24 16:29:26 +01:00
Tim-Philipp Müller
abaf91e428
qtdemux: error out correctly if we don't even have enough bytes for an atom header
2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
25db7df49b
qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message
2009-09-24 16:29:25 +01:00
Tim-Philipp Müller
9da3ed6491
qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining()
2009-09-24 16:28:40 +01:00
Tim-Philipp Müller
a16feec38e
qtdemux: use GstByteReader when parsing tkhd atom
2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
6b7f4f5e23
qtdemux: use unsigned ints for node length and do more sanity checking of the atom length
2009-09-23 16:54:43 +01:00
Tim-Philipp Müller
3abeb1e578
qtdemux: use GstByteReader for atom dumping and fix a few bugs
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
c8c9b0f35d
qtdemux: move stco, stts, stss and stps atom parsing over to GstByteReader
...
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.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
4be46b1586
qtdemux: use bytereader to parse stsz and stsc atoms
...
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.
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
5875e2016a
qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()
2009-09-23 16:54:42 +01:00
Tim-Philipp Müller
410ebb7eb3
qtdemux: add QtAtomParser, an inlined GstByteReader variant
2009-09-23 16:54:41 +01:00
Mark Nauwelaerts
02581dd2a5
matroskademux: use proper order for no-more-pads and newsegment and tag sending
2009-09-23 17:24:22 +02:00
Mark Nauwelaerts
702df566c3
matroskademux: sprinkle a few branch prediction macros
2009-09-23 17:24:22 +02:00
Alessandro Decina
195883b30a
Fix compile warnings with gcc 4.0.1.
2009-09-22 15:04:36 +02:00
Jan Schmidt
600516be90
matroskamux: Don't get stuck in an infinite loop with Dirac
...
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.
2009-09-22 11:50:11 +01:00
Tim-Philipp Müller
123181a114
Update .gitignore
2009-09-22 11:03:46 +01:00
Tim-Philipp Müller
0506545b04
videomixer: fix up Makefile some more
...
Remove CFLAGS from LIBADD and make order of the various CFLAGS and
LIBS at least consistent with each other.
2009-09-22 11:02:02 +01:00
Brian Cameron
341be447a6
videomixer: Add $(GST_PLUGINS_BASE_LIBS) to LDFLAGS for linking libgstvideo
...
Fixes bug #595897 .
2009-09-22 08:09:39 +02:00
Wim Taymans
10eb1a0ff4
avi: fix timestamps in push mode
2009-09-21 18:10:12 +02:00
Stefan Kost
253f43203d
jpegdec: add a G_UNLIKELY and put perf-cat log to code path that copies
2009-09-21 16:07:50 +03:00
Wim Taymans
2f26ee4285
avi: add some performance measurements
...
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
2009-09-21 12:32:51 +02:00
Mark Nauwelaerts
50c41acdff
speexdec: allow for unknown varying number of frames per buffer
...
In particular, this caters for RTP payloads with multiple frames
per packet.
2009-09-18 14:46:38 +02:00
Mark Nauwelaerts
35f9efac88
speexdec: use correct sample size in conversions
2009-09-18 14:46:38 +02:00
Mark Nauwelaerts
f4482e4ae3
speexenc: fix buffer time and duration for multiple frames per packet
2009-09-18 14:46:38 +02:00
Stefan Kost
0868ddf30f
avidemux: some logging cleanup to help understanding the index parsing overhead
2009-09-18 14:27:45 +03:00
David Schleef
19ae44f4e0
osxaudio: link against GST_BASE_LIBS
2009-09-16 13:28:27 -07:00
Olivier Crête
750387f520
rtpg729pay: Fix adapter leak
...
The adapter would be leaked if it was empty and the data could be pushed out directly.
2009-09-15 17:24:24 -04:00
Sebastian Dröge
317d6e18a2
pulsesrc: Don't dereference NULL pointers
...
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220 .
2009-09-15 10:05:51 +02:00
David Henningsson
bb787f1030
pulsesink: Don't dereference NULL pointers
...
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220 .
2009-09-15 10:05:51 +02:00
Wim Taymans
ccda761562
pulsesink: handle stream events
...
Handle stream events and request a PAUSE/PLAY state change from the application
when we receive a CORK/UNCORK event.
2009-09-14 16:05:30 +02:00
David Schleef
78eeb6636e
multifilesink: Add next-file property
...
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.
2009-09-13 20:00:53 -07:00
David Schleef
903c79e767
dvdemux: Use values from decoder structure directly
...
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.
2009-09-13 19:59:45 -07:00
David Schleef
29173242bb
dvdemux: Add code to parse SMPTE time codes
...
Code to convert time codes to/from timestamps and frame numbers.
2009-09-13 13:22:35 -07:00
David Schleef
1b57f19509
dvdemux: Fix detection of new media
...
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.
2009-09-13 12:34:07 -07:00
Edward Hervey
b1dab0fce1
dvdemux: Set DISCONT flag on buffers when REC_ST flag is set.
...
Also add a few branch prediction macros
2009-09-12 19:26:56 +02:00
Jan Schmidt
7c2489ca77
check: Fix a couple of tests.
...
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.
2009-09-12 00:13:04 +01:00
Michael Smith
3257374310
wavparse: treat a zero-sized data chunk as extending to the end of the file.
...
This fixes playback of some files that don't have a valid data chunk length,
apparently some program creates these.
2009-09-11 13:34:01 -07:00
Stefan Kost
00ffa9c2dd
v4l2src: add a function pointer for get_frame function and optimize a bit
...
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.
2009-09-11 22:24:47 +03:00
Stefan Kost
1a945a32cc
v4l2: log buffer copies on queue underrun in perf category
...
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.
2009-09-11 22:19:23 +03:00
Sebastian Dröge
0c50816aaa
pulsesink: Implement GstStreamVolume interface
2009-09-11 16:38:03 +02:00
Sebastian Dröge
7fb6ad6d4c
pulsesink: Implement mute property
2009-09-11 16:38:03 +02:00
Wim Taymans
d4316e74fc
gdkpixbufsink: fix docs refering to send-messages
2009-09-11 13:33:31 +02:00