Stefan Kost [Tue, 6 Oct 2009 21:33:49 +0000 (00:33 +0300)]
equalizer: use shelfing filters for first and last band
Refactor the filter setup. Add two new filters with shelf characteristics for
first and last band. Change gain calculation as recommended in the quoted
document (no qrt needed). Rename variables to match the formulas in the
document.
René Stadler [Fri, 2 Oct 2009 20:51:29 +0000 (23:51 +0300)]
pulsesrc: guard fragment size with a lower limit based on latency-time
In case that the pulse daemon runs the source device at a relatively low fixed
fragment size compared to the requested latency-time, configure the ring buffer
segsize to the largest integer multiple of the fragment size that is still
smaller than or equal to the requested latency-time.
Fixes bug #597463.
Stefan Kost [Tue, 6 Oct 2009 14:40:47 +0000 (17:40 +0300)]
jpegdec: comment/logging cleanups and more branch guides
Stefan Kost [Mon, 5 Oct 2009 19:43:11 +0000 (22:43 +0300)]
equalizer: fix filter history usage. Fixes #597397
The process functions where overwriting the history for each channel. Also pull
some static things out of the inner loop.
Wim Taymans [Mon, 5 Oct 2009 14:07:24 +0000 (16:07 +0200)]
rtpbin: use locking around the sessions
Tim-Philipp Müller [Mon, 5 Oct 2009 10:46:08 +0000 (11:46 +0100)]
qtdemux: make sure compatible brands buffer exists before dereferencing it
Robert Swain [Sun, 4 Oct 2009 19:59:24 +0000 (21:59 +0200)]
qtdemux: fix printf warnings on OSX
Cast variables passed to printf to avoid warnings about incorrect
formats (most likely caused by sizeof returning a size_t).
Fixes #597348.
Tim-Philipp Müller [Thu, 1 Oct 2009 23:23:34 +0000 (00:23 +0100)]
qtdemux: remove internal genre table
No need to maintain our own genre table in qtdemux. The genres are
identical to the ID3 genres, so we can just use libgsttag's
gst_tag_id3_genre_get() to look them up.
Robert Swain [Sat, 3 Oct 2009 15:18:28 +0000 (17:18 +0200)]
Fix printf formats to avoid warnings in avidemux. Fixes #597214
https://bugzilla.gnome.org/show_bug.cgi?id=597214
Sebastian Dröge [Sat, 3 Oct 2009 07:52:57 +0000 (09:52 +0200)]
matroskademux: Change one GST_WARNING to a GST_DEBUG
Sebastian Dröge [Fri, 2 Oct 2009 12:37:54 +0000 (14:37 +0200)]
flvdemux: If there's no audio stream after 6 seconds of video signal no-more-pads
...and the other way around. Also ignore any audio/video streams that appear
after no-more-pads.
Fixes bug #597091.
Sebastian Dröge [Fri, 2 Oct 2009 12:37:40 +0000 (14:37 +0200)]
flvdemux: Make sure to only signal no-more-pads a single time
René Stadler [Fri, 2 Oct 2009 19:55:45 +0000 (22:55 +0300)]
pulse: rename pa_buffer_attr variables
Makes it much easier to see what is going on and is a lot less error prone.
Stefan Kost [Fri, 2 Oct 2009 15:25:16 +0000 (18:25 +0300)]
rtp: add missing include to fix the build
Stefan Kost [Fri, 2 Oct 2009 10:15:59 +0000 (13:15 +0300)]
videofilter: add G_OBJECT_WARN_INVALID_PROPERTY_ID to property setter
Stefan Kost [Fri, 2 Oct 2009 10:10:44 +0000 (13:10 +0300)]
level: don't give wrong number of fields in the message docs
Wim Taymans [Thu, 1 Oct 2009 10:52:40 +0000 (12:52 +0200)]
jitterbuffer: cache latency in nanoseconds
Cache the latency in nanoseconds units to avoid having to convert the
milliseconds value to nanoseconds all the time.
Wim Taymans [Thu, 1 Oct 2009 10:12:09 +0000 (12:12 +0200)]
jitterbuffer: handle -1 input timestamps
Don't try to check a -1 timestamp against the max delay.
Stefan Kost [Thu, 1 Oct 2009 07:54:55 +0000 (10:54 +0300)]
avi: don't misues perf-category and remove unused ext category
The performance category is meant to be used to audit codepaths that lead to bad
performance (e.g. copies, conversion that can be avoided).
Remove the event category which is not used.
Olivier Crête [Wed, 16 Sep 2009 18:23:24 +0000 (14:23 -0400)]
rtpg729pay/depay: Demote per-buffer debug messages to log level
Olivier Crête [Wed, 16 Sep 2009 18:16:27 +0000 (14:16 -0400)]
rtpg729pay: Don't leak incoming buffers after subbuffering them
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.