Wim Taymans
3efcc0fbc1
rtpbin: only start buffering when < 100%
...
Only start buffering when the percentage message is < 100 %.
2010-02-12 17:22:55 +01:00
Wim Taymans
0348ebe651
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.
2010-02-12 17:22:54 +01:00
Wim Taymans
ecf6ed8fc1
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.
2010-02-12 17:22:54 +01:00
Wim Taymans
048e5b6fbe
jitterbuffer: report level using high watermark
2010-02-12 17:22:54 +01:00
Wim Taymans
8d814f3782
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.
2010-02-12 17:22:54 +01:00
Wim Taymans
bf697b12e3
rtpbin: add some comments
2010-02-12 17:22:53 +01:00
Wim Taymans
20a27a545a
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.
2010-02-12 17:22:53 +01:00
Wim Taymans
a5b9d3f917
rtpbin: propagate buffer-mode property
...
Propagate buffer-mode property to the jitterbuffers.
Intercept BUFFERING messages in rtpbin
2010-02-12 17:22:53 +01:00
Wim Taymans
d3db9574a9
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.
2010-02-12 17:22:52 +01:00
Wim Taymans
aeacbfed3e
jitterbuffer: flesh out buffering mode some more
...
Add a buffering state to the jitterbuffer and wait until buffering ends before
pushing out packets.
2010-02-12 17:22:52 +01:00
Wim Taymans
56b29c9a6b
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.
2010-02-12 17:22:52 +01:00
Wim Taymans
be4517a6b8
jitterbuffer: add buffering mode options
...
Add getters and setters for different buffering modes that the jitterbuffer will
support. Default to the current slave mode.
2010-02-12 17:22:52 +01:00
Tim-Philipp Müller
114ba3dc6e
v4lsink: lower rank to MARGINAL
2010-02-12 15:56:01 +00:00
Robert Swain
bf9d8dbbdc
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
2010-02-12 16:25:44 +01:00
Robert Swain
dd23397b4f
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.
2010-02-12 15:56:18 +01:00
Wim Taymans
1175d0698c
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.
2010-02-12 15:56:18 +01:00
Robert Swain
0011c9b0da
avidemux: Fix _handle_seek_push () and new segement behaviour
2010-02-12 15:56:18 +01:00
Wim Taymans
2ce79998a1
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.
2010-02-12 15:56:18 +01:00
Wim Taymans
e6cc145352
avidemux: rename some variables
...
seek_event -> seg_event
event_seek -> seek_event
2010-02-12 15:56:18 +01:00
Wim Taymans
784d888cb2
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.
2010-02-12 15:56:18 +01:00
Robert Swain
3e1ed0c727
avidemux: Push mode seeking support
2010-02-12 15:56:18 +01:00
Wim Taymans
c2dfc94b1d
rtspsrc: cleanup properties
...
Use more default constants.
Use static strings param flag.
Init properties explicitly instead of letting gobject do this.
2010-02-12 15:20:07 +01:00
Stefan Kost
f70dbd0eb7
speex: add missing include
2010-02-12 15:35:30 +02:00
Stefan Kost
f003fef3ad
taginject: fix multi-value tag example
...
We need to use {} to specify a list.
2010-02-12 15:35:30 +02:00
Stefan Kost
ef343d8ad9
avi,wav: also handle JUNQ chunk in addition to JUNK
2010-02-12 15:35:30 +02:00
Wim Taymans
ad6d4540a7
rtppay: don't ignore result from set_outcaps
...
set_outcaps can fail and we need to propagate the result upstream.
2010-02-12 13:53:58 +01:00
Wim Taymans
1f9c39da2a
flvparse: fix confusing debug messages
2010-02-12 13:53:58 +01:00
Wim Taymans
99a581215f
jitterbuffer: add some more debug info
2010-02-12 13:53:57 +01:00
Wim Taymans
55b5e2e3f3
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.
2010-02-12 13:53:57 +01:00
Wim Taymans
caec8d9837
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
2010-02-12 13:53:57 +01:00
Sebastian Dröge
92ddc932eb
docs: Update documentation
2010-02-12 11:32:40 +01:00
Sebastian Dröge
bc611043a9
Moved 'shapewipe' from -bad to -good
...
Fixes bug #584536 .
2010-02-12 11:24:38 +01:00
Sebastian Dröge
919e93f1b2
[MOVED FROM BAD 29/29] shapewipe: Preserve the input color values in all cases
2010-02-12 11:12:35 +01:00
Sebastian Dröge
e9f9f4cfd4
[MOVED FROM BAD 28/29] shapewipe: Scale mask alpha values by the source alpha values
2010-02-12 11:12:35 +01:00
Sebastian Dröge
8786380c9a
[MOVED FROM BAD 27/29] shapewipe: Fix ARGB processing
2010-02-12 11:12:35 +01:00
Sebastian Dröge
a59bc8a240
[MOVED FROM BAD 26/29] shapewipe: Print some more details on error/warning messages
2010-02-12 11:12:35 +01:00
Sebastian Dröge
6e086c8e2f
[MOVED FROM BAD 25/29] shapewipe: Improve/add debug output
2010-02-12 11:12:34 +01:00
Sebastian Dröge
4d038dc516
[MOVED FROM BAD 24/29] shapewipe: Always hold the mask mutex before signalling the GCond
2010-02-12 11:12:34 +01:00
Sebastian Dröge
e2ab650079
[MOVED FROM BAD 23/29] shapewipe: Move chain function error cases at the end of the function and add useful debug output
2010-02-12 11:12:34 +01:00
Sebastian Dröge
11a16e95e2
[MOVED FROM BAD 22/29] shapewipe: Fix race condition during shutdown that can lead to a deadlock
2010-02-12 11:12:34 +01:00
Sebastian Dröge
69b9c76dc8
[MOVED FROM BAD 21/29] shapewipe: Drop mask buffer on FLUSH events
2010-02-12 11:12:34 +01:00
Sebastian Dröge
104471f517
[MOVED FROM BAD 20/29] shapewipe: Update copyright year
2010-02-12 11:12:34 +01:00
Sebastian Dröge
a089677871
[MOVED FROM BAD 19/29] shapewipe: Don't reset properties when going PAUSED->READY
...
Also use defines for the default values of the properties.
2010-02-12 11:12:34 +01:00
Sebastian Dröge
89605b416b
[MOVED FROM BAD 18/29] shapewipe: Replace floating point arithmetic in the inner processing loops by integer arithmetic
2010-02-12 11:12:34 +01:00
Sebastian Dröge
5f2e64e3a0
[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.
2010-02-12 11:12:34 +01:00
Sebastian Dröge
41eed9dcca
[MOVED FROM BAD 16/29] shapewipe: Add BGRA support for video in/output
2010-02-12 11:12:33 +01:00
Sebastian Dröge
9716cb9935
[MOVED FROM BAD 15/29] shapewipe: Add support for ARGB video input/output
2010-02-12 11:12:33 +01:00
Sebastian Dröge
76a21dec7f
[MOVED FROM BAD 14/29] shapewipe: Correctly handle 0/1 fps
2010-02-12 11:12:33 +01:00
Sebastian Dröge
809d15428c
[MOVED FROM BAD 13/29] shapewipe: Implement basic QoS
...
This change is based on Tim's QoS implementation
for jpegdec.
2010-02-12 11:12:33 +01:00
Sebastian Dröge
5fba6963ff
[MOVED FROM BAD 12/29] shapewipe: Proxy queries on the video pads to the correct peers
2010-02-12 11:12:33 +01:00