Olivier Crête [Wed, 16 Sep 2009 17:57:05 +0000 (13:57 -0400)]
rtpg729pay/depay: Add debug categories
Olivier Crête [Wed, 16 Sep 2009 17:55:19 +0000 (13:55 -0400)]
rtpg729pay: Remove long unneeded define replacement
Christian F.K. Schaller [Wed, 30 Sep 2009 17:06:07 +0000 (18:06 +0100)]
Update makefile with missing header file
Sebastian Dröge [Wed, 30 Sep 2009 16:45:17 +0000 (18:45 +0200)]
rtp: Use autoaudio{sink,src} instead of alsa in the examples
Stefan Kost [Tue, 29 Sep 2009 14:51:04 +0000 (17:51 +0300)]
jpegdec: don't leak output buffers on decoding errors
The setjmp handles libjpeg error. Free the outputbffer if we don't need it.
Tim-Philipp Müller [Mon, 28 Sep 2009 23:01:59 +0000 (00:01 +0100)]
jpegdec: fix 'unused variable' compiler warning when compiling with GST_DISABLE_GST_DEBUG
Wim Taymans [Wed, 23 Sep 2009 12:25:08 +0000 (14:25 +0200)]
avi: small cleanups
Wim Taymans [Wed, 23 Sep 2009 11:57:02 +0000 (13:57 +0200)]
avi: fix timestamping in some audio streams
For vbr audio streams we need to use the number of blocks to calculate the
timestamps.
When the allocation of additional index memory fails, don't throw away what
we had before.
Various cleanups.
Wim Taymans [Wed, 23 Sep 2009 10:56:07 +0000 (12:56 +0200)]
avi: add support for ODML indexes again
Wim Taymans [Tue, 22 Sep 2009 20:12:58 +0000 (22:12 +0200)]
avi: implement index scanning
Implement scanning of the file when we can parse the index.
Some refactoring of common code.
Cleanups and comments.
Remove some reimplemented code.
Remove index massage code and put a FIXME where we should do something
equivalent later.
Wim Taymans [Tue, 22 Sep 2009 16:18:20 +0000 (18:18 +0200)]
avi: fix reverse playback
Wim Taymans [Tue, 22 Sep 2009 15:42:48 +0000 (17:42 +0200)]
avi: fix prev keyframe search and cleanups
Wim Taymans [Tue, 22 Sep 2009 12:51:30 +0000 (14:51 +0200)]
avi: remove code that got converted
Wim Taymans [Tue, 22 Sep 2009 12:44:42 +0000 (14:44 +0200)]
avi: more cleanups
Remove some duplicate counters.
Be smarter when updateing the current the timestamp and offset in the stream
because we can reuse previously calculated values when simply go forward one
step.
Correctly set metadata on outgoing buffers.
Wim Taymans [Tue, 22 Sep 2009 10:35:30 +0000 (12:35 +0200)]
avidemux: small cleanups
Wim Taymans [Mon, 21 Sep 2009 23:28:54 +0000 (01:28 +0200)]
avi: fix read offset and cleanups
Wim Taymans [Mon, 21 Sep 2009 16:04:25 +0000 (18:04 +0200)]
avi: rewrite index playback
disable code, start on reimplementing loop based operation.
Rewrite the index handling so that all streams use their own index for decoding
media.
Wim Taymans [Mon, 21 Sep 2009 13:35:55 +0000 (15:35 +0200)]
avidemux: add new index parsing code
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.
Stefan Kost [Mon, 28 Sep 2009 13:29:45 +0000 (16:29 +0300)]
jpeg: handle more libjpeg return values, add some more branch hints
Also remove unused size variable in _chain().
Mark Nauwelaerts [Fri, 25 Sep 2009 17:21:32 +0000 (19:21 +0200)]
qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264
Fixes #596319.
Mark Nauwelaerts [Fri, 25 Sep 2009 14:40:31 +0000 (16:40 +0200)]
qtdemux: only send tag events downstream after newsegment
Mark Nauwelaerts [Fri, 25 Sep 2009 12:14:03 +0000 (14:14 +0200)]
rtspsrc: if transport protocol unsupported, try another one
Also change error message to more accurately reflect cases in which
it can occur.
Wim Taymans [Fri, 25 Sep 2009 09:54:06 +0000 (11:54 +0200)]
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
Wim Taymans [Thu, 24 Sep 2009 18:38:54 +0000 (20:38 +0200)]
qtdemux: small cleanup
Tim-Philipp Müller [Thu, 24 Sep 2009 18:33:39 +0000 (19:33 +0100)]
qtdemux: don't use core API that doesn't exist yet
There's no gst_byte_reader_has_remaining() yet. Fixes build.
Tim-Philipp Müller [Thu, 24 Sep 2009 12:20:50 +0000 (13:20 +0100)]
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.
Tim-Philipp Müller [Tue, 25 Aug 2009 11:11:28 +0000 (12:11 +0100)]
qtdemux: add qt_atom_parser_has_chunks() and fix indentation
Tim-Philipp Müller [Thu, 20 Aug 2009 17:21:59 +0000 (18:21 +0100)]
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.
Tim-Philipp Müller [Thu, 20 Aug 2009 15:47:25 +0000 (16:47 +0100)]
qtdemux: error out correctly if we don't even have enough bytes for an atom header
Tim-Philipp Müller [Thu, 20 Aug 2009 14:39:00 +0000 (15:39 +0100)]
qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing error message
Tim-Philipp Müller [Thu, 20 Aug 2009 00:39:17 +0000 (01:39 +0100)]
qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with _get_remaining()
Tim-Philipp Müller [Thu, 20 Aug 2009 00:21:04 +0000 (01:21 +0100)]
qtdemux: use GstByteReader when parsing tkhd atom
Tim-Philipp Müller [Wed, 19 Aug 2009 18:13:38 +0000 (19:13 +0100)]
qtdemux: use unsigned ints for node length and do more sanity checking of the atom length
Tim-Philipp Müller [Wed, 19 Aug 2009 00:36:33 +0000 (01:36 +0100)]
qtdemux: use GstByteReader for atom dumping and fix a few bugs
Tim-Philipp Müller [Fri, 21 Aug 2009 13:21:08 +0000 (14:21 +0100)]
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.
Tim-Philipp Müller [Tue, 30 Jun 2009 18:51:15 +0000 (19:51 +0100)]
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.
Tim-Philipp Müller [Sat, 15 Aug 2009 19:38:40 +0000 (20:38 +0100)]
qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()
Tim-Philipp Müller [Wed, 1 Jul 2009 12:49:57 +0000 (13:49 +0100)]
qtdemux: add QtAtomParser, an inlined GstByteReader variant
Mark Nauwelaerts [Wed, 23 Sep 2009 15:19:34 +0000 (17:19 +0200)]
matroskademux: use proper order for no-more-pads and newsegment and tag sending
Mark Nauwelaerts [Wed, 23 Sep 2009 07:50:37 +0000 (09:50 +0200)]
matroskademux: sprinkle a few branch prediction macros
Alessandro Decina [Tue, 22 Sep 2009 13:03:20 +0000 (15:03 +0200)]
Fix compile warnings with gcc 4.0.1.
Jan Schmidt [Tue, 22 Sep 2009 10:48:50 +0000 (11:48 +0100)]
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.
Tim-Philipp Müller [Tue, 22 Sep 2009 10:03:46 +0000 (11:03 +0100)]
Update .gitignore
Tim-Philipp Müller [Tue, 22 Sep 2009 10:02:02 +0000 (11:02 +0100)]
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.
Brian Cameron [Tue, 22 Sep 2009 06:02:48 +0000 (08:02 +0200)]
videomixer: Add $(GST_PLUGINS_BASE_LIBS) to LDFLAGS for linking libgstvideo
Fixes bug #595897.
Wim Taymans [Mon, 21 Sep 2009 16:09:12 +0000 (18:09 +0200)]
avi: fix timestamps in push mode
Stefan Kost [Fri, 18 Sep 2009 14:26:42 +0000 (17:26 +0300)]
jpegdec: add a G_UNLIKELY and put perf-cat log to code path that copies
Wim Taymans [Mon, 21 Sep 2009 10:32:51 +0000 (12:32 +0200)]
avi: add some performance measurements
Measure the performance of various index and header parsing steps to the
PERFORMANCE debug category.
Mark Nauwelaerts [Fri, 18 Sep 2009 09:53:12 +0000 (11:53 +0200)]
speexdec: allow for unknown varying number of frames per buffer
In particular, this caters for RTP payloads with multiple frames
per packet.
Mark Nauwelaerts [Fri, 18 Sep 2009 09:45:06 +0000 (11:45 +0200)]
speexdec: use correct sample size in conversions
Mark Nauwelaerts [Fri, 18 Sep 2009 09:43:46 +0000 (11:43 +0200)]
speexenc: fix buffer time and duration for multiple frames per packet
Stefan Kost [Fri, 18 Sep 2009 11:22:02 +0000 (14:22 +0300)]
avidemux: some logging cleanup to help understanding the index parsing overhead
David Schleef [Wed, 16 Sep 2009 20:28:27 +0000 (13:28 -0700)]
osxaudio: link against GST_BASE_LIBS
Olivier Crête [Tue, 15 Sep 2009 21:24:24 +0000 (17:24 -0400)]
rtpg729pay: Fix adapter leak
The adapter would be leaked if it was empty and the data could be pushed out directly.
Sebastian Dröge [Tue, 15 Sep 2009 08:04:30 +0000 (10:04 +0200)]
pulsesrc: Don't dereference NULL pointers
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220.
David Henningsson [Tue, 15 Sep 2009 08:01:54 +0000 (10:01 +0200)]
pulsesink: Don't dereference NULL pointers
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220.
Wim Taymans [Mon, 14 Sep 2009 14:05:30 +0000 (16:05 +0200)]
pulsesink: handle stream events
Handle stream events and request a PAUSE/PLAY state change from the application
when we receive a CORK/UNCORK event.
David Schleef [Sun, 13 Sep 2009 19:30:34 +0000 (12:30 -0700)]
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.
David Schleef [Sun, 13 Sep 2009 22:55:02 +0000 (15:55 -0700)]
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.
David Schleef [Sun, 13 Sep 2009 19:20:23 +0000 (12:20 -0700)]
dvdemux: Add code to parse SMPTE time codes
Code to convert time codes to/from timestamps and frame numbers.
David Schleef [Sun, 13 Sep 2009 19:01:27 +0000 (12:01 -0700)]
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.
Edward Hervey [Sat, 12 Sep 2009 17:25:36 +0000 (19:25 +0200)]
dvdemux: Set DISCONT flag on buffers when REC_ST flag is set.
Also add a few branch prediction macros
Jan Schmidt [Fri, 11 Sep 2009 23:13:04 +0000 (00:13 +0100)]
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.
Michael Smith [Fri, 11 Sep 2009 20:32:39 +0000 (13:32 -0700)]
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.
Stefan Kost [Fri, 11 Sep 2009 19:24:47 +0000 (22:24 +0300)]
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.
Stefan Kost [Fri, 11 Sep 2009 19:15:01 +0000 (22:15 +0300)]
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.
Sebastian Dröge [Fri, 11 Sep 2009 13:14:15 +0000 (15:14 +0200)]
pulsesink: Implement GstStreamVolume interface
Sebastian Dröge [Fri, 11 Sep 2009 14:09:40 +0000 (16:09 +0200)]
pulsesink: Implement mute property
Wim Taymans [Fri, 11 Sep 2009 11:33:31 +0000 (13:33 +0200)]
gdkpixbufsink: fix docs refering to send-messages
Wim Taymans [Fri, 11 Sep 2009 11:28:35 +0000 (13:28 +0200)]
spectrum: add post-messages property
Add a post-messages property and deprecate the less descriptive message
property.
Wim Taymans [Fri, 11 Sep 2009 11:20:06 +0000 (13:20 +0200)]
pixbufsink: add post-messages property
Add post-messages and deprecate send-messages as the former is more
descriptive of what actually happens.
Wim Taymans [Fri, 11 Sep 2009 11:12:54 +0000 (13:12 +0200)]
multifilesink: rename silent to post-messages
Use the post-messages property name instead of silent as it is more
descriptive.
Wim Taymans [Fri, 11 Sep 2009 10:16:18 +0000 (12:16 +0200)]
multifilesink: post messages for each buffer
Add a silent property that can be set to FALSE to post messages on the bus for
each written file.
Do some more cleanups.
Add some docs.
Fixes #594663
Olivier Crête [Wed, 9 Sep 2009 22:13:29 +0000 (18:13 -0400)]
rtph263pay: Allocate Boundry structs on the stack instead of the heap to avoid leaks
Fixes bug #594691.
Stefan Kost [Thu, 10 Sep 2009 07:28:48 +0000 (10:28 +0300)]
docs: fix gtk-doc warnings
Stefan Kost [Thu, 10 Sep 2009 07:26:23 +0000 (10:26 +0300)]
docs: fix gtk-doc warnings
David Schleef [Thu, 10 Sep 2009 00:51:19 +0000 (17:51 -0700)]
dv1394src: Add a clock based on isochronous cycle counter
Partial fix for #169383.
Sebastian Dröge [Wed, 9 Sep 2009 14:02:03 +0000 (16:02 +0200)]
videobox: Fix AYUV->I420 conversion
For this fix the averaging of the chroma values. It should't be (a/2 + b)/2
but just (a + b)/2.
Fixes bug #594599.
Wim Taymans [Wed, 9 Sep 2009 14:25:06 +0000 (16:25 +0200)]
pulsesink: remove ringbuffer reset compensation
Remove the code to deal with a ringbuffer reset as this code is now in the base
class.
Bump the -base requirement as we need the new baseaudiosink code to function
properly.
Wim Taymans [Wed, 9 Sep 2009 14:24:49 +0000 (16:24 +0200)]
pulsesink: whitespace fixes
Wim Taymans [Wed, 9 Sep 2009 08:27:55 +0000 (10:27 +0200)]
whitespace fixes
Wim Taymans [Tue, 8 Sep 2009 17:34:09 +0000 (19:34 +0200)]
pulse: small cleanups
Add some debug info
Fix the state changes
Marc-André Lureau [Tue, 8 Sep 2009 16:29:35 +0000 (18:29 +0200)]
multipartmux: mark data buffer as delta-unit
So that multifdsink always start sending header buffer first
Fixes #594520
Marc Leeman [Tue, 8 Sep 2009 15:37:15 +0000 (17:37 +0200)]
rtpbin: add ignore-pt parameter
Add a parameter 'ignore-pt' that disables creating a gstrtpptdemux module and
ghosts the pads of gstrtpjitterbuffer instead of the ones of gstrtpptdemux.
Fixes #594490
Marvin Schmidt [Fri, 4 Sep 2009 11:51:37 +0000 (13:51 +0200)]
checks: only run HTTPS test if libsoup has SSL support
Håvard Graff [Tue, 8 Sep 2009 11:59:56 +0000 (13:59 +0200)]
rtpbin: propagate payload-type-change signal from demuxer
fixes #594254
Havard Graff [Mon, 31 Aug 2009 16:46:25 +0000 (18:46 +0200)]
jitterbuffer: change severity of clock-rate change debug
Make log GST_DEBUG under normal circumstances, GST_WARNING otherwise.
Fixes #594253
Håvard Graff [Tue, 8 Sep 2009 11:39:31 +0000 (13:39 +0200)]
jitterbuffer: avoid throwing reordered buffers with same timestamps
When we receive a reordered packet with the same timestamp as the previous one
(which can happen for fragmented packets) don't consider the packet as lost but
instead wait for the reordered packet to arrive.
Switch the warning-level, so that a reordering does not get a warning, only
an actual produced lost-packet.
Fixes #594251
Havard Graff [Mon, 31 Aug 2009 19:16:54 +0000 (21:16 +0200)]
rtpjpegdepay: add missing math.h include
Fixes #594247
Arnout Vandecappelle [Tue, 8 Sep 2009 11:30:29 +0000 (13:30 +0200)]
rtspsrc: fix memory leak
In gst_rtspsrc_parse_digest_challenge(), rtspsrc does a g_strndup of the auth
header items and then passes them to gst_rtsp_connection_set_auth_param()
without freeing.
Fixes #594133
Stig Sandnes [Tue, 8 Sep 2009 11:18:29 +0000 (13:18 +0200)]
rtpbin: make free_session() remove stream references
When receiving a sync-packet, all sessions with the same cname will be compared
and synced together. In this process, there could still be references to a
session that has been shut down in the meanwhile.
This patch makes sure that these references are removed when shutting down a
session, so that the syncing can be done safely.
Fixes #594283
Havard Graff [Mon, 31 Aug 2009 16:46:51 +0000 (18:46 +0200)]
rtpbin: use locked state on internal bins
Set the locked state on internal elements to make sure that they don't change
back to another state when shutting down.
Fixes #594248
Wim Taymans [Mon, 7 Sep 2009 16:28:51 +0000 (18:28 +0200)]
v4l2src: add support for mpeg formats
Zaheer Merali [Sun, 6 Sep 2009 03:51:14 +0000 (20:51 -0700)]
y4menc: Add interlaced support
Fixes #591713
Signed-off-by: David Schleef <ds@schleef.org>
David Schleef [Mon, 24 Aug 2009 20:42:42 +0000 (13:42 -0700)]
Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
Sebastian Dröge [Sat, 5 Sep 2009 08:21:31 +0000 (10:21 +0200)]
Automatic update of common submodule
From
00a859e to
19fa4f3
Mark Nauwelaerts [Fri, 4 Sep 2009 11:42:43 +0000 (13:42 +0200)]
qtdemux: prevent a spurious debug warning
Sebastian Dröge [Fri, 4 Sep 2009 07:32:42 +0000 (09:32 +0200)]
v4l2: Define V4L2_FMT_FLAG_EMULATED if it's not defined yet
libv4l2 already uses this flag, even on Linux kernel versions
before 2.6.32.
Sebastian Dröge [Fri, 4 Sep 2009 05:10:03 +0000 (07:10 +0200)]
matroskademux: Correctly handle NULL GstIndex
Sebastian Dröge [Thu, 3 Sep 2009 18:40:17 +0000 (20:40 +0200)]
v4l2: Fix stupid typo in last commit