Wim Taymans [Wed, 20 Jan 2010 16:04:03 +0000 (17:04 +0100)]
rtpbin: change how NTP time is calculated in RTCP
Don't calculate the NTP time based on the running_time of the pipeline but from
the systemclock. This allows us to generate more accurate NTP timestamps in case
the systemclock is synchronized with NTP or similar.
Tim-Philipp Müller [Mon, 15 Feb 2010 12:12:36 +0000 (12:12 +0000)]
v4l2: printf format string fix
The compiler wants a cast here even though the type is already
typedefed as 64-bit integer (presumably because glib has typedefed
guint64 to unsigned long here).
Tim-Philipp Müller [Mon, 15 Feb 2010 10:33:02 +0000 (10:33 +0000)]
matroska: fix printf format string
Tim-Philipp Müller [Mon, 15 Feb 2010 00:50:10 +0000 (00:50 +0000)]
raw1394, matroska, rtpmanager: remove padding from structures
None of these element and class structures are in public headers,
so don't need padding.
Tim-Philipp Müller [Mon, 15 Feb 2010 00:47:11 +0000 (00:47 +0000)]
po: update for new translator comment
Tim-Philipp Müller [Mon, 15 Feb 2010 00:45:51 +0000 (00:45 +0000)]
pulsesink: add comment for translators for 'x by y' message
Fixes #609724.
Sebastian Dröge [Mon, 15 Feb 2010 00:28:44 +0000 (01:28 +0100)]
cairorender: Fix leaking of pad templates
Sebastian Dröge [Sun, 14 Feb 2010 23:50:27 +0000 (00:50 +0100)]
shapewipe: Fix unit test for latest changes
Now the alpha is multiplied with the already existing alpha
value instead of simply ignoring it and the luma/chroma values
are kept, even if the output is 100% transparent.
Sebastian Dröge [Sun, 14 Feb 2010 23:47:08 +0000 (00:47 +0100)]
shapewipe: Improve unit test output on errors
Sebastian Dröge [Sun, 14 Feb 2010 22:17:20 +0000 (23:17 +0100)]
Automatic update of common submodule
From 96dc793 to 44ecce7
Tim-Philipp Müller [Sat, 13 Feb 2010 23:28:06 +0000 (23:28 +0000)]
configure: bump -base requirement to git
For GST_RIFF_TAG_JUNQ.
Tim-Philipp Müller [Fri, 12 Feb 2010 16:11:30 +0000 (16:11 +0000)]
v4l2sink: change rank to NONE so it is never autoplugged
Edward Hervey [Sat, 13 Feb 2010 17:18:42 +0000 (18:18 +0100)]
flvdemux: Audio tags without any content are valid.
We silently ignore them instead of erroring out.
Edward Hervey [Sat, 13 Feb 2010 17:07:50 +0000 (18:07 +0100)]
flvdemux: Fix GST_CLOCK_DIFF usage.
It was previously checking for DIFF(a, b > 6 * GST_SECOND) instead of
the proper DIFF(a,b) > 6 * GST_SECOND
Edward Hervey [Sat, 13 Feb 2010 15:27:07 +0000 (16:27 +0100)]
flvdemux: Don't forget to reset the indexed variable when cleaning up
Edward Hervey [Sat, 13 Feb 2010 10:01:53 +0000 (11:01 +0100)]
flvdemux: Speedup GstIndex usage
Used the _add_associationv variant of GstIndex since we know how many
associations we're adding. Trims up to 50% from index generation time.
Note : It would be great if the index could be generated on the fly or
on request as opposed to being fully created at startup.
Wim Taymans [Fri, 12 Feb 2010 18:32:27 +0000 (19:32 +0100)]
jitterbuffer: don't resync to invalid timestamps
If we detect backward timestamps on the server, don't try to resync when we
don't have an input timestamp (such as when using RTSP over TCP) instead, do
nothing but assume the timestamp was ok, it will correct itself when time goes
forwards.
Wim Taymans [Fri, 12 Feb 2010 16:21:43 +0000 (17:21 +0100)]
rtpbin: fix typo
Wim Taymans [Fri, 12 Feb 2010 15:47:29 +0000 (16:47 +0100)]
jitterbuffer: start out active and not buffering
There is no need to set the latency in the jittebuffer in _init, we will set
that later when going to PAUSED.
Set the jitterbuffer active and not buffering when starting.
Wim Taymans [Wed, 27 Jan 2010 16:57:55 +0000 (17:57 +0100)]
rtpbin: more buffering work
When deactivating jitterbuffers when the buffering starts, keep the current
percent of the jitterbuffer and also set the jitterbuffer in the buffering state
so that we know when it's filled again.
Add property to get the buffering percentage of the jitterbuffer.
Wim Taymans [Wed, 14 Oct 2009 14:29:35 +0000 (16:29 +0200)]
rtpjitterbuffer: adjust latency in buffer mode
When we are in buffer mode, adjust the buffering low/high thresholds based on
the total configured latency. If we don't and there is a huge queue or element
with a big latency downstream we might drain the complete queue immediately and
start buffering again.
Wim Taymans [Mon, 12 Oct 2009 09:54:07 +0000 (11:54 +0200)]
jitterbuffer: add ts-offset to timestamp
Add the ts-offset to the buffer timestamp to get the final output timestamp of
the buffer.
Wim Taymans [Thu, 8 Oct 2009 17:23:53 +0000 (19:23 +0200)]
rtpbin: do more accurate buffer offsets
Return the next timestamp in the jitterbuffer.
Use the min-timestamp of the jitterbuffers to calculate an offset so that the
next timestamp is pushed with a timestamp equal to running_time.
Start producing timestamps from 0 in the buffering case too.
Wim Taymans [Thu, 8 Oct 2009 16:42:11 +0000 (18:42 +0200)]
rtpbin: only start buffering when < 100%
Only start buffering when the percentage message is < 100 %.
Wim Taymans [Tue, 6 Oct 2009 11:34:34 +0000 (13:34 +0200)]
rtpbin: keep track of elapsed pause time
Keep track of the time we spend pausing the jitterbuffers when they were
buffering and distribute this elapsed time to the jitterbuffers.
Also keep the latency in nanosecond precision.
Wim Taymans [Tue, 6 Oct 2009 11:33:15 +0000 (13:33 +0200)]
jitterbuffer: keep track of offset
Keep track of an outgoing offset that we add to each outgoing buffer to
compensate for PAUSE when buffering.
Adjust the offset when activating.
Wim Taymans [Tue, 6 Oct 2009 11:30:54 +0000 (13:30 +0200)]
jitterbuffer: report level using high watermark
Wim Taymans [Mon, 5 Oct 2009 19:31:59 +0000 (21:31 +0200)]
rtpbin: pass running_time to jitterbuffer pause
Pass the current running time to the jitterbuffer when pausing or resuming so
that it calculate the right offsets.
Small cleanups and comments.
Set the default rtspsrc latency to 2 seconds.
Wim Taymans [Mon, 5 Oct 2009 18:09:30 +0000 (20:09 +0200)]
rtpbin: add some comments
Wim Taymans [Mon, 5 Oct 2009 17:45:35 +0000 (19:45 +0200)]
rtpbin: more buffering updates
Add signal to pause the jitterbuffer. This will be emitted from gstrtpbin when
one of the jitterbuffers is buffering.
Make rtpbin collect the buffering messages and post a new buffering message with
the min value.
Remove the stats callback from jitterbuffer but pass a percent integer to
functions that affect the buffering state of the jitterbuffer. This allows us
then to post buffering messages from outside of the jitterbuffer lock.
Wim Taymans [Mon, 5 Oct 2009 11:32:17 +0000 (13:32 +0200)]
rtpbin: propagate buffer-mode property
Propagate buffer-mode property to the jitterbuffers.
Intercept BUFFERING messages in rtpbin
Wim Taymans [Thu, 1 Oct 2009 15:14:09 +0000 (17:14 +0200)]
jitterbuffer: do more buffering implementation
Add callback for buffering stats.
Configure the latency in the jitterbuffer instead of passing it with _insert.
Calculate buffering levels when pushing and popping
Post buffering messages.
Wim Taymans [Thu, 1 Oct 2009 10:46:21 +0000 (12:46 +0200)]
jitterbuffer: flesh out buffering mode some more
Add a buffering state to the jitterbuffer and wait until buffering ends before
pushing out packets.
Wim Taymans [Thu, 1 Oct 2009 10:09:58 +0000 (12:09 +0200)]
jitterbuffer: hook up the mode property
Expose a mode property on the jitterbuffer.
Fix the case where timestamps are -1 in the check for outgoing timestamps.
Wim Taymans [Thu, 1 Oct 2009 09:20:08 +0000 (11:20 +0200)]
jitterbuffer: add buffering mode options
Add getters and setters for different buffering modes that the jitterbuffer will
support. Default to the current slave mode.
Tim-Philipp Müller [Fri, 12 Feb 2010 15:54:37 +0000 (15:54 +0000)]
v4lsink: lower rank to MARGINAL
Robert Swain [Fri, 12 Feb 2010 15:06:45 +0000 (16:06 +0100)]
flvdemux: Obtain the index from the end of an flv file in push mode
Allows for better support of seeking in flv files when in push mode
Robert Swain [Thu, 21 Jan 2010 10:55:15 +0000 (11:55 +0100)]
avidemux: Drop video frames up to the desired keyframe after a seek
The audio packets in AVI are generally muxed ~0.5s before the
corresponding video packet. This changes causes downstream to only
receive packets with roughly corresponding timestamps.
Wim Taymans [Tue, 19 Jan 2010 17:35:49 +0000 (18:35 +0100)]
avidemux: more DISCONT handling
Add some debug in the DISCONT handling code.
When we receive a DISCONT in push mode, mark all streams as DISCONT.
Robert Swain [Tue, 19 Jan 2010 09:51:08 +0000 (10:51 +0100)]
avidemux: Fix _handle_seek_push () and new segement behaviour
Wim Taymans [Mon, 18 Jan 2010 16:13:06 +0000 (17:13 +0100)]
avidemux: cleanups
Make sure we reset the demuxer correctly wrt parsing the index.
Don't leak pending seek events.
Rename some methods to reflect what they do and to avoid confusion with similar
method names.
Try to make the seeking threadsafe by protecting the setup code with a lock.
Make sure we post errors when a seek fails.
Wim Taymans [Mon, 18 Jan 2010 10:45:38 +0000 (11:45 +0100)]
avidemux: rename some variables
seek_event -> seg_event
event_seek -> seek_event
Wim Taymans [Fri, 15 Jan 2010 17:00:46 +0000 (18:00 +0100)]
avidemux: take fallback duration from avih
When we have not parsed any indexes yet, we don't know the length of the streams
and we must take the length given in the avih as a fallback.
Avoid some typechecking.
Robert Swain [Fri, 4 Dec 2009 14:13:12 +0000 (15:13 +0100)]
avidemux: Push mode seeking support
Wim Taymans [Mon, 1 Feb 2010 15:04:41 +0000 (16:04 +0100)]
rtspsrc: cleanup properties
Use more default constants.
Use static strings param flag.
Init properties explicitly instead of letting gobject do this.
Stefan Kost [Fri, 12 Feb 2010 13:34:38 +0000 (15:34 +0200)]
speex: add missing include
Stefan Kost [Fri, 5 Feb 2010 11:28:53 +0000 (13:28 +0200)]
taginject: fix multi-value tag example
We need to use {} to specify a list.
Stefan Kost [Mon, 1 Feb 2010 12:43:04 +0000 (14:43 +0200)]
avi,wav: also handle JUNQ chunk in addition to JUNK
Wim Taymans [Thu, 4 Feb 2010 14:59:25 +0000 (15:59 +0100)]
rtppay: don't ignore result from set_outcaps
set_outcaps can fail and we need to propagate the result upstream.
Wim Taymans [Thu, 4 Feb 2010 14:36:24 +0000 (15:36 +0100)]
flvparse: fix confusing debug messages
Wim Taymans [Wed, 27 Jan 2010 12:28:13 +0000 (13:28 +0100)]
jitterbuffer: add some more debug info
Wim Taymans [Wed, 27 Jan 2010 12:26:46 +0000 (13:26 +0100)]
pulsesink: avoid segfault when shutting down
when we are shutting down, we might still receive state updates from pulseaudio
but since we are unparented we should not do anything with the NULL parent
anymore.
Wim Taymans [Tue, 26 Jan 2010 17:33:27 +0000 (18:33 +0100)]
videomixer: fix timestamp problems
When the pad with the highest framerate goes EOS, instead of not timestamping
output buffers, intepollate timestamps and durations from the last seen ones.
Fixes #608026
Sebastian Dröge [Fri, 12 Feb 2010 10:32:40 +0000 (11:32 +0100)]
docs: Update documentation
Sebastian Dröge [Fri, 12 Feb 2010 10:18:26 +0000 (11:18 +0100)]
Moved 'shapewipe' from -bad to -good
Fixes bug #584536.
Sebastian Dröge [Wed, 10 Feb 2010 09:52:53 +0000 (10:52 +0100)]
[MOVED FROM BAD 29/29] shapewipe: Preserve the input color values in all cases
Sebastian Dröge [Wed, 10 Feb 2010 09:50:49 +0000 (10:50 +0100)]
[MOVED FROM BAD 28/29] shapewipe: Scale mask alpha values by the source alpha values
Sebastian Dröge [Wed, 10 Feb 2010 09:42:32 +0000 (10:42 +0100)]
[MOVED FROM BAD 27/29] shapewipe: Fix ARGB processing
Sebastian Dröge [Wed, 10 Feb 2010 09:34:24 +0000 (10:34 +0100)]
[MOVED FROM BAD 26/29] shapewipe: Print some more details on error/warning messages
Sebastian Dröge [Mon, 8 Feb 2010 07:26:33 +0000 (08:26 +0100)]
[MOVED FROM BAD 25/29] shapewipe: Improve/add debug output
Sebastian Dröge [Mon, 8 Feb 2010 07:20:44 +0000 (08:20 +0100)]
[MOVED FROM BAD 24/29] shapewipe: Always hold the mask mutex before signalling the GCond
Sebastian Dröge [Mon, 8 Feb 2010 07:19:48 +0000 (08:19 +0100)]
[MOVED FROM BAD 23/29] shapewipe: Move chain function error cases at the end of the function and add useful debug output
Sebastian Dröge [Mon, 8 Feb 2010 07:12:11 +0000 (08:12 +0100)]
[MOVED FROM BAD 22/29] shapewipe: Fix race condition during shutdown that can lead to a deadlock
Sebastian Dröge [Mon, 8 Feb 2010 07:11:33 +0000 (08:11 +0100)]
[MOVED FROM BAD 21/29] shapewipe: Drop mask buffer on FLUSH events
Sebastian Dröge [Mon, 8 Feb 2010 07:09:55 +0000 (08:09 +0100)]
[MOVED FROM BAD 20/29] shapewipe: Update copyright year
Sebastian Dröge [Mon, 8 Feb 2010 07:08:44 +0000 (08:08 +0100)]
[MOVED FROM BAD 19/29] shapewipe: Don't reset properties when going PAUSED->READY
Also use defines for the default values of the properties.
Sebastian Dröge [Sat, 16 Jan 2010 15:52:11 +0000 (16:52 +0100)]
[MOVED FROM BAD 18/29] shapewipe: Replace floating point arithmetic in the inner processing loops by integer arithmetic
Sebastian Dröge [Thu, 10 Dec 2009 09:40:10 +0000 (10:40 +0100)]
[MOVED FROM BAD 17/29] shapewipe: Don't do pointer dereferences in the processing loop
Lowers the time taken there in my testcase from 6.91% to 6.20%
as measured by callgrind.
Sebastian Dröge [Wed, 8 Jul 2009 15:59:29 +0000 (17:59 +0200)]
[MOVED FROM BAD 16/29] shapewipe: Add BGRA support for video in/output
Sebastian Dröge [Thu, 2 Jul 2009 09:24:48 +0000 (11:24 +0200)]
[MOVED FROM BAD 15/29] shapewipe: Add support for ARGB video input/output
Sebastian Dröge [Tue, 23 Jun 2009 16:23:13 +0000 (18:23 +0200)]
[MOVED FROM BAD 14/29] shapewipe: Correctly handle 0/1 fps
Sebastian Dröge [Tue, 9 Jun 2009 17:14:41 +0000 (19:14 +0200)]
[MOVED FROM BAD 13/29] shapewipe: Implement basic QoS
This change is based on Tim's QoS implementation
for jpegdec.
Sebastian Dröge [Tue, 9 Jun 2009 16:45:19 +0000 (18:45 +0200)]
[MOVED FROM BAD 12/29] shapewipe: Proxy queries on the video pads to the correct peers
Sebastian Dröge [Tue, 9 Jun 2009 16:37:43 +0000 (18:37 +0200)]
[MOVED FROM BAD 11/29] shapewipe: Proxy bufferalloc on the video sinkpad
Sebastian Dröge [Tue, 9 Jun 2009 16:25:13 +0000 (18:25 +0200)]
[MOVED FROM BAD 10/29] shapewipe: Try to work inplace if possible
This saves one new, large allocation per frame for the
most cases.
Sebastian Dröge [Thu, 4 Jun 2009 06:56:14 +0000 (08:56 +0200)]
[MOVED FROM BAD 09/29] shapewipe: Increase timeout of the unit test
Sebastian Dröge [Mon, 1 Jun 2009 19:24:27 +0000 (21:24 +0200)]
[MOVED FROM BAD 08/29] shapewipe: Fix some issues that were exposed by the new unit test
Sebastian Dröge [Mon, 1 Jun 2009 19:24:12 +0000 (21:24 +0200)]
[MOVED FROM BAD 07/29] shapewipe: Add unit test for shapewipe
Sebastian Dröge [Sun, 31 May 2009 19:33:01 +0000 (21:33 +0200)]
[MOVED FROM BAD 06/29] shapewipe: Add documentation and integrate into the build system
Sebastian Dröge [Fri, 29 May 2009 19:07:26 +0000 (21:07 +0200)]
[MOVED FROM BAD 05/29] shapewipe: Adjust border to still have everything transparent at 1.0 and the other way around
Sebastian Dröge [Fri, 29 May 2009 14:55:25 +0000 (16:55 +0200)]
[MOVED FROM BAD 04/29] shapewipe: Divide the border value by two, otherwise we use a twice a wide border
Sebastian Dröge [Fri, 29 May 2009 14:51:50 +0000 (16:51 +0200)]
[MOVED FROM BAD 03/29] shapewipe: Add border property to allow smooth borders
...and use a border of 0.01 in the example application.
Sebastian Dröge [Fri, 29 May 2009 14:00:16 +0000 (16:00 +0200)]
[MOVED FROM BAD 02/29] shapewipe: Fix Makefile of the example application
Sebastian Dröge [Fri, 29 May 2009 13:32:24 +0000 (15:32 +0200)]
[MOVED FROM BAD 01/29] shapewipe: Add a simple shapewipe transition filter & example application
Sebastian Dröge [Sat, 6 Feb 2010 17:19:27 +0000 (18:19 +0100)]
flacdec: Only flush the FLAC decoder if it wasn't created right before
If the FLAC decoder is flushed, its state will be set to frame-sync mode,
which will sync to the next *audio* frame and makes it ignore all headers.
This prevented tags and everything else to show up when using flacdec
in push mode.
Fixes bug #608843.
Tim-Philipp Müller [Thu, 11 Feb 2010 01:12:15 +0000 (01:12 +0000)]
Update MAINTAINERS
Tim-Philipp Müller [Fri, 12 Feb 2010 00:03:09 +0000 (00:03 +0000)]
configure: back to development
Slushy freeze remains in effect.
Tim-Philipp Müller [Wed, 10 Feb 2010 23:18:22 +0000 (23:18 +0000)]
Release 0.10.18
Tim-Philipp Müller [Wed, 10 Feb 2010 23:17:21 +0000 (23:17 +0000)]
Update .po files
Robert Swain [Wed, 10 Feb 2010 20:36:56 +0000 (20:36 +0000)]
qtdemux: temporary safety check to avoid crashes with a certain file
Add temporary check to avoid crashes with a certain file when seeking
until the real cause of this is figured out. See #609405.
Robert Swain [Fri, 5 Feb 2010 17:05:39 +0000 (18:05 +0100)]
qtdemux: skip unknown atoms when looking for moov
Fixes bug #609107
Tim-Philipp Müller [Fri, 5 Feb 2010 02:13:33 +0000 (02:13 +0000)]
0.10.17.3 pre-release
Tim-Philipp Müller [Thu, 4 Feb 2010 19:10:36 +0000 (19:10 +0000)]
po: update translations
Robert Swain [Thu, 4 Feb 2010 13:46:56 +0000 (14:46 +0100)]
qtdemux: Set the segment start time to the requested seek time for non-keyframe seeks
Robert Swain [Thu, 4 Feb 2010 11:00:03 +0000 (12:00 +0100)]
qtdemux: Fix time returned for index at a byte offset
The logic for searching forwards/backwards was swapped
Mark Nauwelaerts [Mon, 1 Feb 2010 18:22:24 +0000 (19:22 +0100)]
speexdec: initialize stereo decoding state
Mark Nauwelaerts [Thu, 28 Jan 2010 17:58:08 +0000 (18:58 +0100)]
matroskademux: improve stream synchronization
In particular, do not make it send newsegment updates that
sort-of contradict the indented playback segment (e.g. start time).
Mark Nauwelaerts [Thu, 28 Jan 2010 17:53:18 +0000 (18:53 +0100)]
matroskademux: fix bridging (time) gaps in streams
As a side effect, avoid sending newsegment updates with start times
that go back and forth, which leads to bogus downstream running_time.
Also fixes seeking in bug #606744.
Mark Nauwelaerts [Thu, 28 Jan 2010 17:49:57 +0000 (18:49 +0100)]
matroskademux: fix stream synchronization
.. by initializing streams starting at 0, as that is basically
where we 'seek to' at the start and assume streams to start elsewhere.
Also enables newsegment update events for subtitle streams.
Stefan Kost [Tue, 2 Feb 2010 11:41:03 +0000 (13:41 +0200)]
jpeg: don't directly access message, some message have args
This caused bogus messages, such as reported in bug #607471.