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
Sebastian Dröge [Thu, 3 Sep 2009 18:38:50 +0000 (20:38 +0200)]
v4l2: Put emulated formats behind native formats
Fixes bug #593764.
Laurent Glayal [Thu, 3 Sep 2009 17:37:10 +0000 (19:37 +0200)]
rtpsource: fix memleak
Don't leak the input buffer when the received and expected seqnum are different when
in probation.
fixes #594039
Olivier Crête [Wed, 2 Sep 2009 19:21:02 +0000 (15:21 -0400)]
rtpjitterbuffer: Lock clock_rate variable
The priv->clock_rate variable could become -1 between when its checked to not
be -1 and when its used, causing an assertion. Fixed by taking the mutex
earlier in the chain() function.
Fixes #593955
Wim Taymans [Thu, 3 Sep 2009 17:12:39 +0000 (19:12 +0200)]
rtpsource: whitespace fixes
Wim Taymans [Thu, 3 Sep 2009 17:09:12 +0000 (19:09 +0200)]
rtpmpapay: whitespace fixes
Wim Taymans [Thu, 3 Sep 2009 17:08:53 +0000 (19:08 +0200)]
rtpsession: whitespace fixes
Edward Hervey [Thu, 3 Sep 2009 15:33:28 +0000 (17:33 +0200)]
jpegdec: Avoid unnecessary processing until we have a full picture.
This is for non-packetized mode, when we know the upstream size in bytes.
Stefan Kost [Thu, 3 Sep 2009 11:40:20 +0000 (14:40 +0300)]
flvmux: fully use tagsetter to manage the tags. Fixes #563221
There is no need to manage a separate taglist.
Stefan Kost [Thu, 3 Sep 2009 11:13:43 +0000 (14:13 +0300)]
speexenc: small taglist handling cleanup
Don't eventualy leak the list and instead assert (like in other elements).
Stefan Kost [Wed, 2 Sep 2009 20:12:41 +0000 (23:12 +0300)]
pulsesink: also guard reseting subscribe callback with ifdefs
It is conditionaly set, so do the same when unsetting.
Peter Kjellerstedt [Tue, 1 Sep 2009 13:06:46 +0000 (15:06 +0200)]
rtpmanager: Fixed a copy & paste error
Peter Kjellerstedt [Tue, 1 Sep 2009 11:21:23 +0000 (13:21 +0200)]
rtpmanager: Removed unused variable priv
The variable priv was initialized in a lot of functions but then never
used for anything.
Peter Kjellerstedt [Tue, 1 Sep 2009 11:03:57 +0000 (13:03 +0200)]
rtpmanager: A little clean up
Make the code flow of gst_rtp_session_send_rtcp() and
gst_rtp_session_sync_rtcp() identical.
Peter Kjellerstedt [Tue, 1 Sep 2009 10:47:51 +0000 (12:47 +0200)]
rtpmanager: Make sure that used caps are not freed already (take 2)
This reintroduces the fix for bug #593391. It also applies it in
gst_rtp_session_sync_rtcp() which has very similar code to
gst_rtp_session_send_rtcp().
Wim Taymans [Tue, 1 Sep 2009 10:41:36 +0000 (12:41 +0200)]
jitterbuffer: make sure time does not go backwards
When we construct a timestamp that would result in a timestamp that is earlier
than when the packet was received, reset the skew calculation as this is
probably a sign that the sender restarted or paused.
Fixes #593354
Peter Kjellerstedt [Tue, 1 Sep 2009 09:32:41 +0000 (11:32 +0200)]
rtpmanager: Set caps in gst_rtp_session_send_rtcp() correctly again
The test for when to set an RTCP caps on the output pad in
gst_rtp_session_send_rtcp() accidentally got inverted in the last commit.
Sebastian Dröge [Tue, 1 Sep 2009 08:26:46 +0000 (10:26 +0200)]
qtdemux: Add support for QCELP audio
Fixes bug #593757.
Peter Kjellerstedt [Mon, 31 Aug 2009 16:10:11 +0000 (18:10 +0200)]
effectv: Fix compilation with gcc 3
Recent changes in gst-plugins-good/gst/effectv prevents it from being compiled
with gcc 3. The problem is that the new code uses preprocessor conditionals
within a macro call which does not work with older versions of gcc.
Fixes bug #593688.
Tim-Philipp Müller [Mon, 31 Aug 2009 15:20:59 +0000 (16:20 +0100)]
docs: small clean-ups in -sections.txt
Remove duplicate entry for warptv; there is no taglibmux element.
Mark Nauwelaerts [Thu, 27 Aug 2009 13:46:52 +0000 (15:46 +0200)]
rtpmp4gdepay: consider (optional) auxiliary data when parsing
Mark Nauwelaerts [Thu, 27 Aug 2009 13:46:15 +0000 (15:46 +0200)]
rtpmp4gdepay: handle broken AU-Index in non-interleaved streams
In case of non-interleaved (= sequentially payloaded) streams,
the AU-Index serves little purpose (that is not already covered by
RTP fields). (Broken) Payloaders might consider this field then
to be disregarded and have non spec compliant values, e.g. each
RTP packet having AU-Index 2 (rather than 0). As such, ensure/force
simple sequential sending of non-interleaved streams.
Mark Nauwelaerts [Tue, 18 Aug 2009 15:17:28 +0000 (17:17 +0200)]
qtdemux: also extract ftyp info in push mode
Mark Nauwelaerts [Thu, 13 Aug 2009 14:11:59 +0000 (16:11 +0200)]
qtdemux: consider 3gpp style tag parsing in some more cases
3GPP specs define a number of tags along with precise layout. While these
are normally expected to be found in a container whose major brand is a
3GPP brand, this may also happen when a 3GPP brand is only mentioned as a
compatible brand. Apply some checks, heuristic and fallbacks to extract
such tags as well.
Mark Nauwelaerts [Tue, 11 Aug 2009 11:56:43 +0000 (13:56 +0200)]
wavparse: reflow exit, and fix some leaks
Mark Nauwelaerts [Tue, 11 Aug 2009 11:54:56 +0000 (13:54 +0200)]
wavparse: push mode; add pad if needed so downstream gets EOS
Mark Nauwelaerts [Mon, 10 Aug 2009 14:19:03 +0000 (16:19 +0200)]
wavparse: push mode; fix/improve chunk handling
Handle large, invalid or otherwise unusual chunk sizes.
Verify some chunk sizes to be at least the size they are
expected to be and round up some sizes to even number for
e.g. offset administration, which must also be properly
tracked in push mode.
Mark Nauwelaerts [Sat, 8 Aug 2009 19:54:00 +0000 (21:54 +0200)]
avidemux: push mode; cater for unusual chunk sizes
Wim Taymans [Mon, 31 Aug 2009 14:34:14 +0000 (16:34 +0200)]
rtpsession: use proper locking for pads and caps
Use the sesion lock and shotdown variable to protect and ref the pads we are
going to push on.
fixes #561825
Wim Taymans [Mon, 31 Aug 2009 14:33:26 +0000 (16:33 +0200)]
rtpbin: whitespace fixes
Tim-Philipp Müller [Mon, 31 Aug 2009 12:38:08 +0000 (13:38 +0100)]
wavparse: clean up adapter properly
Reflow code so we don't try to clear or re-use an already-freed adapter.
Tim-Philipp Müller [Mon, 31 Aug 2009 12:07:53 +0000 (13:07 +0100)]
flactag, wavparse: GstAdapter is not a GstObject