Edward Hervey [Sat, 18 Apr 2009 15:42:55 +0000 (17:42 +0200)]
Remove unused variables in _class_init
Detected by LLVM's CLang static analyzer
Jan Schmidt [Sat, 18 Apr 2009 12:54:08 +0000 (13:54 +0100)]
check: Check whether threads are already initialised before g_thread_init()
Josep Torra [Sat, 18 Apr 2009 12:32:40 +0000 (14:32 +0200)]
rtspsrc: mark discont on the streams as was said the debug line
After a seek mark all streams with discont as it was said in the debug line.
Fixes that buffers after a seek are generated without a valid timestamp.
Josep Torra [Sat, 18 Apr 2009 06:45:18 +0000 (08:45 +0200)]
rtspsrc: map GST_RTSP_EEOF to EOS on server requests
Permit properly handle the EOS condition when server report it in a request.
Edward Hervey [Sat, 18 Apr 2009 06:39:57 +0000 (08:39 +0200)]
rtptheoradepay: Fix build on macosx.
Use G_GSIZE_FORMAT instead of u.
Wim Taymans [Thu, 16 Apr 2009 20:50:59 +0000 (22:50 +0200)]
pulsesink: fix sample offset calculation again
Tim-Philipp Müller [Wed, 15 Apr 2009 18:32:18 +0000 (19:32 +0100)]
sunaudio: fix broken indentation of variable declarations
James Andrewartha [Wed, 15 Apr 2009 18:28:53 +0000 (19:28 +0100)]
sunaudio: remove some unused variables and goto labels
Fixes #579070.
James Andrewartha [Wed, 15 Apr 2009 17:24:49 +0000 (19:24 +0200)]
rtph263pay: fix compilation on big-endian
Some semicolons were missing from the big-endian structs in gstrtph263pay.h.
A GST_DEBUG call was missing a format specifier.
Fixes #579069
Marco Ballesio [Wed, 15 Apr 2009 17:10:04 +0000 (20:10 +0300)]
qtdemux: implement 3GPP (TS 26.244 V8.0.0) Asset metadata handling, Fixes #132193
Implements 3gpp iso metadata tags which are different from mov udta atoms.
Peter Kjellerstedt [Wed, 15 Apr 2009 13:51:24 +0000 (15:51 +0200)]
debugutils: Use G_BEGIN_DECLS/G_END_DECLS.
Use G_BEGIN_DECLS/G_END_DECLS to avoid gst-indent messing up the
indentation due to extern "C" { }.
Stefan Kost [Wed, 15 Apr 2009 13:03:27 +0000 (16:03 +0300)]
debug: rename debug to debugutils to avoid clash with --disable-debug. Fixes #562168
Stefan Kost [Wed, 15 Apr 2009 12:43:04 +0000 (15:43 +0300)]
debug: indent before renaming
Wim Taymans [Wed, 15 Apr 2009 12:07:57 +0000 (14:07 +0200)]
g726depay: add property for aal2 force
Wim Taymans [Wed, 15 Apr 2009 11:56:17 +0000 (13:56 +0200)]
g726depay: implement RFC3551 packing
We implemented the AAL2 packing, add the encoding-name for those to the caps and
a property to force AAL2 decoding (always TRUE for now).
Implement RFC3551 unpacking for regular G726.
See #567140.
Wim Taymans [Tue, 14 Apr 2009 22:22:43 +0000 (00:22 +0200)]
rtph263pay: fix build
Youness Alaoui [Tue, 14 Apr 2009 16:52:48 +0000 (18:52 +0200)]
h263pay: various fixes
Re-enable mode A support and a property to control it.
Fix memory leak of GstRtpH263PayBoundry objects.
Fix marker.
Fixes #509311
Janin Kolenc [Tue, 14 Apr 2009 16:44:51 +0000 (18:44 +0200)]
h263pay: Fix the payloader
Fix the H263 payloader to be more RFC 2190 compliant.
See #509311
Wim Taymans [Tue, 14 Apr 2009 15:27:05 +0000 (17:27 +0200)]
avidemux: don't push EOS in streaming mode
In streaming mode, avidemux is not supposed to send an EOS event downstream but
it is supposed to return UNEXPECTED from the chain function instead so that
upstream can do the right EOS handling.
Sebastian Dröge [Mon, 13 Apr 2009 12:03:03 +0000 (14:03 +0200)]
Add initial support for muxing/demuxing Speex audio
Note: This is not in the Matroska spec yet
Fixes bug #578310.
Wim Taymans [Fri, 10 Apr 2009 19:31:06 +0000 (21:31 +0200)]
pulsesink: handle NULL timing info
Don't crash when the timing info is not yet available.
Stefan Kost [Fri, 10 Apr 2009 18:42:13 +0000 (21:42 +0300)]
pulse: make it work on 0.9.12
First we ignore request to fill the ringbuffer which are less then a segment.
The small request where causing stutter.
Then we disable flushing the stream when running against pa 0.9.12 as this
triggers an assertiong in the sound server and terminates it. It does not happen
with 0.9.10 and 0.9.14.
Wim Taymans [Fri, 10 Apr 2009 12:18:48 +0000 (14:18 +0200)]
pulsesink: handle server disconnect in get_time
When the server is disconnected or when we are shut down, make our clock return
an invalid time instead of erroring out.
Wim Taymans [Fri, 10 Apr 2009 10:01:27 +0000 (12:01 +0200)]
pulsesink: bps is signed int to avoid overflow
Keep bps as gint instead of guint because we will be doing signed math with it
later on and we don't want weird results.
LRN [Thu, 9 Apr 2009 22:26:44 +0000 (00:26 +0200)]
avidemux: add convert query, fix duration query
Fix the duration query so that it also works with formats other than
TIME, such as DEFAULT to get the number of frames.
Add a convert function.
Fixes #578052.
Wim Taymans [Thu, 9 Apr 2009 21:43:58 +0000 (23:43 +0200)]
pulsesink: check for a stream
Don't try to change the stream volume (and other things) when we don't have a
stream yet. Just store the values for later.
Wim Taymans [Thu, 9 Apr 2009 16:07:38 +0000 (18:07 +0200)]
pulsesink: fix compilation for newer pulseaudio
Wim Taymans [Thu, 9 Apr 2009 15:18:54 +0000 (17:18 +0200)]
pulsesink: uncork fixes and use prebuf = 0
We can use prebuf = 0 to instruct pulse to not pause the stream on underflows.
This way we can remove the underflow callback. We however have to manually
uncork the stream now when we have no available space in the buffer or when we
are writing too far away from the current read_index.
Wim Taymans [Thu, 9 Apr 2009 12:38:17 +0000 (14:38 +0200)]
pulsesink: handle write errors
Wim Taymans [Thu, 9 Apr 2009 12:16:35 +0000 (14:16 +0200)]
pulsesink: write silence on underflow
Start filling up the buffer with empty samples when an underflow happens. We
need to do this to keep pulseaudio reporting the right time for us.
Wim Taymans [Thu, 9 Apr 2009 11:14:14 +0000 (13:14 +0200)]
pulsesink: handle pull-based scheduling
Use the default basesink methods for implementing pull based scheduling, it
works fine for us.
Wim Taymans [Thu, 9 Apr 2009 10:13:44 +0000 (12:13 +0200)]
pulsesink: add beginnings of pull-based scheduling
Wim Taymans [Wed, 8 Apr 2009 16:17:10 +0000 (18:17 +0200)]
pulsesink: keep track of clock reset
when we switch streams, the clock will reset to 0. Make sure that the provided
clock doesn't get stuck when this happens by keeping an initial offset. We also
need to make sure that we subtract this offset in samples when writing to the
ringbuffer.
Wim Taymans [Wed, 8 Apr 2009 11:52:41 +0000 (13:52 +0200)]
pulsesink: rewrite pulsesink
Derive from BaseAudioSink and implement our custom ringbuffer that maps to the
internal pulseaudio ringbuffer.
Wim Taymans [Wed, 8 Apr 2009 11:52:00 +0000 (13:52 +0200)]
pulse: remove some stray debug lines
Tim-Philipp Müller [Thu, 9 Apr 2009 10:30:59 +0000 (11:30 +0100)]
jpegdec: use slightly more adaptive formula for QoS
Should work at least a tad better if the decoder can't keep up, and
should also spread dropped frames a bit more evenly over time.
Stefan Kost [Tue, 7 Apr 2009 19:35:31 +0000 (22:35 +0300)]
wavparse: don't leak pad-template
gst_element_class_add_pad_template() does not take ownership.
Felipe Contreras [Sat, 4 Apr 2009 18:18:55 +0000 (21:18 +0300)]
Automatic update of common submodule
From
d0ea89e to
b3941ea
Thomas Vander Stichele [Tue, 31 Mar 2009 23:15:31 +0000 (01:15 +0200)]
add pending_samples so that we only update segment's last stop after really sending the samples
Thomas Vander Stichele [Sun, 15 Mar 2009 20:31:49 +0000 (21:31 +0100)]
add debug and an assert
Thomas Vander Stichele [Sun, 15 Mar 2009 20:30:32 +0000 (21:30 +0100)]
add debugging
Thomas Vander Stichele [Tue, 3 Mar 2009 09:14:02 +0000 (10:14 +0100)]
add a test to check that we get all decoded bytes
from a 10-buffer audiotestsrc flac, in the case of:
- a full decode
- a decode of a seek for the full file
- a decode of a seek for a small part, smaller than the first buffer
The test fails because flacdec drops the first outgoing buffer on a seek
Thomas Vander Stichele [Tue, 3 Mar 2009 09:06:52 +0000 (10:06 +0100)]
clipping should also work if it's done on the first buffer starting at 0
Edward Hervey [Sat, 4 Apr 2009 12:54:01 +0000 (14:54 +0200)]
Automatic update of common submodule
From
f8b3d91 to
d0ea89e
Zaheer Merali [Fri, 3 Apr 2009 08:57:15 +0000 (09:57 +0100)]
Fix grammar.
Wim Taymans [Thu, 2 Apr 2009 20:41:01 +0000 (22:41 +0200)]
rtspsrc: allow http:// on the proxy setting
Allow and ignore http:// at the start of the proxy setting, like
souphttpsrc.
Fixes #573173
Wim Taymans [Thu, 2 Apr 2009 19:08:48 +0000 (21:08 +0200)]
rtspsrc: don't leak the udpsrc pad
Fix memory leak in rtspsrc because we didn't unref the udpsrc pad.
See #577318
Michael Smith [Thu, 2 Apr 2009 00:31:18 +0000 (17:31 -0700)]
rtptheorapay: fix length encoding in packed headers.
As for vorbis payloader; this by inspection had the same bug.
Michael Smith [Thu, 2 Apr 2009 00:23:33 +0000 (17:23 -0700)]
rtpvorbispay: in packed headers, properly flag multibyte lengths.
In the sequence of header lengths, for headers >127 bytes, we use
multiple bytes to encode the length. Bytes other than the last must have
the top (flag) bit set.
Jonathan Matthew [Wed, 1 Apr 2009 23:20:02 +0000 (00:20 +0100)]
id3v2mux: write RVA2 frames containing peak/gain volume data
Tim-Philipp Müller [Wed, 1 Apr 2009 23:05:14 +0000 (00:05 +0100)]
jpegdec: demote some log message from DEBUG to LOG
And log decoder object.
Tim-Philipp Müller [Wed, 1 Apr 2009 20:15:02 +0000 (21:15 +0100)]
jpegdec: implement basic QoS
Don't decode frames that are going to be too late anyway.
Tim-Philipp Müller [Wed, 1 Apr 2009 11:26:12 +0000 (12:26 +0100)]
rtspsrc: don't emit ugly warnings with older rtpjitterbuffer versions
The on-npt-stop signals was added only recently to rtpjitterbuffer in
-bad, so check if the signal exists before g_signal_connect()ing to
it, to avoid warnings.
Wim Taymans [Tue, 31 Mar 2009 17:08:37 +0000 (19:08 +0200)]
rtspsrc: add proxy support
Stefan Kost [Tue, 31 Mar 2009 14:16:04 +0000 (17:16 +0300)]
matroska: don't leak serialized values when writing tags
Stefan Kost [Tue, 31 Mar 2009 14:06:50 +0000 (17:06 +0300)]
matroska: don't alter passed data and especialy don't leak.
If we need different size, Make a copy, work with that and free it.
Stefan Kost [Tue, 31 Mar 2009 13:42:15 +0000 (16:42 +0300)]
goom: the structure is not fully initialized, but the copied.
Set to fully to 0 to avoid creep of uninitialized values.
Stefan Kost [Tue, 31 Mar 2009 13:25:58 +0000 (16:25 +0300)]
matroska: init endianess as such and signedness as boolean.
Stefan Kost [Tue, 31 Mar 2009 13:22:42 +0000 (16:22 +0300)]
qtdemux: don't use ininitialized var in debug log statement
Also make the log statement useful by printing the human readable format name.
Stefan Kost [Tue, 31 Mar 2009 09:01:21 +0000 (12:01 +0300)]
qtdemux: don't leak atom data in case of a wrong fourcc
Stefan Kost [Tue, 31 Mar 2009 08:57:36 +0000 (11:57 +0300)]
matroska: don't leak read data in demuxer
Stefan Kost [Tue, 31 Mar 2009 08:50:41 +0000 (11:50 +0300)]
udp: don't use protocol in debug message after freeing
Tim-Philipp Müller [Mon, 30 Mar 2009 13:10:15 +0000 (14:10 +0100)]
rtpmp4adepay: output should be framed already
Tim-Philipp Müller [Fri, 27 Mar 2009 21:17:05 +0000 (21:17 +0000)]
flac: require a 'newer' flac and remove support for the legacy flac API
Wim Taymans [Fri, 27 Mar 2009 16:48:13 +0000 (17:48 +0100)]
rtspsrc: link to the on_npt_stop signal to EOS
Connect to the on_npt_stop signal of the session manager to schedule the EOS
actions.
Mark Nauwelaerts [Thu, 26 Mar 2009 13:39:06 +0000 (14:39 +0100)]
qtdemux: some stream synchronization to aid seeking in unbalanced clips
Some clips (trailers) may have (length-wise) unbalanced streams,
which stalls the pipeline if seeking into that region.
Additional stream synchronization can handle this, as well as
sparse (subtitle) streams (at some later time ?)
Mark Nauwelaerts [Thu, 26 Mar 2009 09:31:18 +0000 (10:31 +0100)]
qtdemux: additional safety and sanity checks (push based mode)
Wim Taymans [Thu, 26 Mar 2009 09:18:31 +0000 (10:18 +0100)]
videomixer: some more indent fixes
Wim Taymans [Tue, 24 Mar 2009 15:00:58 +0000 (16:00 +0100)]
videomixer: fix gst-indent screwup
Tim-Philipp Müller [Wed, 25 Mar 2009 17:54:35 +0000 (17:54 +0000)]
rtspsrc: better error message when the RTSP extension for Real streams is missing
Try to post a decent error message when it looks like we're failing
because the Real RTSP extension plugin is missing. Also add i18n
bits for rtspsrc so our error messages get translated.
Tim-Philipp Müller [Wed, 25 Mar 2009 15:42:15 +0000 (15:42 +0000)]
i18n: make sure gettext gives us UTF-8 at all times
Tim-Philipp Müller [Wed, 25 Mar 2009 01:28:38 +0000 (01:28 +0000)]
rtpmp4apay,rtpmp4depay: fix buffer leaks in AAC payloader and depayloader
Tim-Philipp Müller [Wed, 25 Mar 2009 01:22:17 +0000 (01:22 +0000)]
rtpmp4apay: warn if input is unframed
Tim-Philipp Müller [Sun, 22 Mar 2009 21:20:57 +0000 (21:20 +0000)]
jpegdec: put GstSegment inside the element struct instead of allocating it separately
Stefan Kost [Wed, 25 Mar 2009 08:08:41 +0000 (10:08 +0200)]
v4l2src: move duplicated timestamping and buffer metadata code to _create()
This will include the latency changes also in the mmap case.
Stefan Kost [Wed, 25 Mar 2009 08:06:48 +0000 (10:06 +0200)]
v4l2src: remove win32 ifdefs introduced by commit
cff3f46760eac74c9bbd7a36aca44fedf327424b
V4l2src is under sys and does not exists/run under windows anyway.
Mark Nauwelaerts [Tue, 24 Mar 2009 14:44:42 +0000 (15:44 +0100)]
qtdemux: handle FLUSH_STOP event
Clean up some state (most notably pad flow returns) to resume
proper streaming following flushing seek.
Alessandro Decina [Tue, 24 Mar 2009 11:42:13 +0000 (12:42 +0100)]
avidemux: don't post an error if EOS can't be pushed downstream.
This aligns avidemux with other demuxers and fixes a bug using avidemux
with a recent gnonlin.
Wim Taymans [Mon, 23 Mar 2009 10:22:08 +0000 (11:22 +0100)]
pulsesink: clean up the state change function
Make the state change function a bit more readable and only pause after the
parent had a change to pause first.
Mark Nauwelaerts [Fri, 20 Mar 2009 16:22:32 +0000 (17:22 +0100)]
qtdemux: support seeking in push based mode
Mark Nauwelaerts [Fri, 20 Mar 2009 16:11:39 +0000 (17:11 +0100)]
qtdemux: align push based behaviour more with pull based
Cater for DELTA_UNIT flag on buffers, keep track of current
position, remove and warn about edit lists if any (as those
as are de facto discarded anyway), add some debug statements
and indent fixes.
Mark Nauwelaerts [Fri, 20 Mar 2009 16:03:03 +0000 (17:03 +0100)]
qtdemux: fix mem leaks and prevent excessive buffering in push based mode
Jan Schmidt [Fri, 20 Mar 2009 13:27:59 +0000 (13:27 +0000)]
pulsesink: Track the corked/uncorked state ourselves
Use an instance variable to track whether the stream is corked or not,
instead of using PA API that was only introduced in 0.9.11
Jan Schmidt [Thu, 19 Mar 2009 18:39:04 +0000 (18:39 +0000)]
pulse: Make sure the stream is uncorked in the write function
If the caps changes, the sink is reset without transitioning through
a PAUSED->PLAYING state change, resulting in a corked stream. This avoids
the problem by checking that the stream is uncorked when writing samples
to it.
Tim-Philipp Müller [Fri, 20 Mar 2009 01:02:26 +0000 (01:02 +0000)]
speexenc: fix direction of latency query and other upstream queries
Don't send queries back to the element they just came from by sending
them to the peer of the wrong pad.
Tim-Philipp Müller [Thu, 19 Mar 2009 11:10:40 +0000 (11:10 +0000)]
.gitignore: ignore more
Tim-Philipp Müller [Wed, 18 Mar 2009 16:55:27 +0000 (16:55 +0000)]
rtpmp4adepay: don't append an extra 0 byte to the codec data
The audioMuxVersion structure is packed in such a way that the codec
data does not start byte-aligned, which means there's an extra bit of
padding at the end. We don't want that bit in the codec data, since
some decoders seem get confused when they're fed with an extra codec
data byte (also it's just not right of course).
Wim Taymans [Thu, 19 Mar 2009 12:25:57 +0000 (13:25 +0100)]
rtph264depay: fix base64 decoding
We can't pass -1 to _decode_step, that functions returns 0 right away instead of
decoding up to the string end.
David Adam [Thu, 19 Mar 2009 12:24:02 +0000 (13:24 +0100)]
udp: Fix build if on Solaris
This patch checks for Solaris and uses ip_mreq instead of ip_mreqn if on this
platform.
Fixes #575937.
Sebastian Dröge [Wed, 18 Mar 2009 13:50:17 +0000 (14:50 +0100)]
rtp: Use GLib functions for encoding/decoding base64
Wim Taymans [Mon, 16 Mar 2009 18:17:24 +0000 (19:17 +0100)]
rtspsrc: add some debug for the timestamps
When timestamping in TCP mode, log the first timestamp we put on the buffers.
Stefan Kost [Sun, 15 Mar 2009 21:26:56 +0000 (23:26 +0200)]
v4l2src: log details if we have them, needed for #575391
Wim Taymans [Fri, 13 Mar 2009 17:32:47 +0000 (18:32 +0100)]
udpsrc: convert _ in properties to -
--
Edgar E. Iglesias [Fri, 13 Mar 2009 17:28:59 +0000 (18:28 +0100)]
udpsrc: Add network interface selection
Add network interface selection when joining multicast groups.
Useful when using the udpsrc on multihomed hosts.
Fixes #575234.
API: GstUDPSrc::multicast-iface
Jan Schmidt [Fri, 13 Mar 2009 15:43:52 +0000 (15:43 +0000)]
v4l2src: Prepend to lists and reverse them at the end.
Gratuitous micro-optimisation - prepend to lists and reverse them, rather
than appending to them each time.
Jan Schmidt [Fri, 13 Mar 2009 15:40:50 +0000 (15:40 +0000)]
pulsesink: Wait until there is enough room to write an entire segment
When trying to write out a segment, wait until there is enough free space
for the entire segment. This helps to reduce ripple in the clock reporting,
where the app might query the playback position while only half a segment
has been written (and is therefore reported by _delay(), even though
the ring buffer has not yet been advanced)
Wim Taymans [Thu, 12 Mar 2009 19:38:42 +0000 (20:38 +0100)]
rtspsrc: don't send PAUSE when not connected
don't send a PAUSE request when we are no longer connected.
Laszlo Pandy [Thu, 12 Mar 2009 15:10:25 +0000 (16:10 +0100)]
Don't call FLAC__ methods before it's initialized. Fixes #516031
In the event handler, gst_flac_dec_sink_event(), two functions are called on
the FLAC stream without checking if it has been initialized:
FLAC__stream_decoder_flush()
FLAC__stream_decoder_process_until_end_of_stream()
Both these FLAC__*() functions modify the internal state of the FLAC stream.
Later, when the buffers start flowing, gst_flac_dec_chain() tries to initialize
the stream. the FLAC__stream_decoder_init_stream() call will fail because the
previous calls to FLAC__*() changed the stream state so it is no longer in the
initialized state.
Wim Taymans [Wed, 11 Mar 2009 16:59:00 +0000 (17:59 +0100)]
rtspsrc: fix timeout check
---
Tim-Philipp Müller [Wed, 11 Mar 2009 12:48:03 +0000 (12:48 +0000)]
win32: update MANIFEST, fixing 'make dist'
config.h.in no longer exists.