Commit graph

3577 commits

Author SHA1 Message Date
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
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
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
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
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
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
Sebastian Dröge
48dd557fea [MOVED FROM BAD 11/29] shapewipe: Proxy bufferalloc on the video sinkpad 2010-02-12 11:12:33 +01:00
Sebastian Dröge
91668db57c [MOVED FROM BAD 10/29] shapewipe: Try to work inplace if possible
This saves one new, large allocation per frame for the
most cases.
2010-02-12 11:12:33 +01:00
Sebastian Dröge
e5d41ba407 [MOVED FROM BAD 08/29] shapewipe: Fix some issues that were exposed by the new unit test 2010-02-12 11:12:33 +01:00
Sebastian Dröge
e207e7b8a3 [MOVED FROM BAD 06/29] shapewipe: Add documentation and integrate into the build system 2010-02-12 11:12:32 +01:00
Sebastian Dröge
19a0764537 [MOVED FROM BAD 05/29] shapewipe: Adjust border to still have everything transparent at 1.0 and the other way around 2010-02-12 11:12:32 +01:00
Sebastian Dröge
88f4bd4efd [MOVED FROM BAD 04/29] shapewipe: Divide the border value by two, otherwise we use a twice a wide border 2010-02-12 11:12:32 +01:00
Sebastian Dröge
c0f9553707 [MOVED FROM BAD 03/29] shapewipe: Add border property to allow smooth borders
...and use a border of 0.01 in the example application.
2010-02-12 11:12:32 +01:00
Sebastian Dröge
12a27a46f9 [MOVED FROM BAD 01/29] shapewipe: Add a simple shapewipe transition filter & example application 2010-02-12 11:12:32 +01:00
Robert Swain
4aff3e48be 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.
2010-02-10 20:36:56 +00:00
Robert Swain
7877ffb6f5 qtdemux: skip unknown atoms when looking for moov
Fixes bug #609107
2010-02-07 10:56:02 +01:00
Robert Swain
9ed6c58006 qtdemux: Set the segment start time to the requested seek time for non-keyframe seeks 2010-02-04 18:54:58 +00:00
Robert Swain
8d4f70c5ce qtdemux: Fix time returned for index at a byte offset
The logic for searching forwards/backwards was swapped
2010-02-04 18:54:53 +00:00
Mark Nauwelaerts
f0d6b841a2 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).
2010-02-02 16:54:05 +01:00
Mark Nauwelaerts
b527360f21 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.
2010-02-02 16:53:56 +01:00
Mark Nauwelaerts
9bec2b1127 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.
2010-02-02 16:53:51 +01:00
Wim Taymans
c35a984801 rtspsrc: free transports on errors
See #608564
2010-02-01 19:32:11 +01:00
Robert Swain
f9bf5970a3 flvmux: index timestamps should be in seconds, not milliseconds 2010-01-27 20:24:41 +01:00