Commit graph

13585 commits

Author SHA1 Message Date
Sebastian Dröge f6520e2335 Back to development 2013-09-24 15:00:24 +02:00
Sebastian Dröge 365962fe65 Release 1.2.0 2013-09-24 14:21:08 +02:00
Sebastian Dröge e679d1a197 Update .po files 2013-09-24 14:20:51 +02:00
Andoni Morales Alastruey 05f6c094fa osxvideosink: fix segfault releasing the sink
show_frame is deferred to the main thread and can be called
when the sink has been released, so we need to keep an extra ref
on ObjectiveC object helper.

https://bugzilla.gnome.org/show_bug.cgi?id=708501
2013-09-24 09:59:51 +02:00
Robert Krakora 141a1fc296 v4l2bufferpool: Restore original GstMemory in buffer if it has been changed
https://bugzilla.gnome.org/show_bug.cgi?id=706083
2013-09-23 11:58:39 -04:00
Wim Taymans adf5d96044 rtpmanager: update docs 2013-09-23 16:34:15 +02:00
Wim Taymans e5019de80d docs: update docs with 1.0 element names 2013-09-23 15:36:47 +02:00
Wim Taymans 3c69d65b85 tests: add test for retransmission because of reordering 2013-09-23 14:45:27 +02:00
Wim Taymans 8ce674da87 rtpjitterbuffer: always store lost event in jitterbuffer
Always prepare a lost event in the jitterbuffer, it is to wake up and make the
pushing thread continue. We drop the event when we are not supposed to push lost
events downstream.
2013-09-23 14:45:27 +02:00
Wim Taymans 9f3345fcc2 rtpjitterbuffer: schedule lost event differently
Schedule the lost event by placing it inside the jitterbuffer with the seqnum
that was lost so that the pushing thread can interleave and push it properly.
2013-09-23 14:45:27 +02:00
Wim Taymans f40d6689f2 tests: remove timeouts from check
Timeouts make the test unreliable and are not needed.
2013-09-23 14:45:26 +02:00
Wim Taymans ae389aeb0c rtpjitterbuffer: remove list debug 2013-09-23 14:45:26 +02:00
Wim Taymans 28641e3145 rtpjitterbuffer: add type to the item
So that the upper layer can know what data is contained in the item.
2013-09-23 14:45:26 +02:00
Wim Taymans 479c7642fd rtpjitterbuffer: fix flush
Pass function to flush to properly free the queue items.
2013-09-23 14:45:25 +02:00
Wim Taymans 0cc887eb98 rtpjitterbuffer: append seqnum -1 packets 2013-09-23 14:45:25 +02:00
Wim Taymans 39a2ba669d rtpjitterbuffer: use structure to hold packet information
Make the jitterbuffer operate on a structure containing all the packet
information. This avoids mapping the buffer multiple times just to get the RTP
information. It will also make it possible to store other miniobjects such as
events later.
2013-09-23 14:45:25 +02:00
Wim Taymans 1760817005 rtpjitterbuffer: update expected timer when possible
When we receive a packet and we have some missing packets, we can update their
estimated arrival times based on the timestamp difference.
2013-09-23 14:45:25 +02:00
Wim Taymans fdc1ed1680 rtpjitterbuffer: fix order of timeout events
Improve the order of the timeout events, if there are timers with the same
timeout, we want to trigger the lowest seqnum first. For this we need to loop
over the complete array of timers to find the best one before triggering the
timeout.
2013-09-23 14:45:25 +02:00
Wim Taymans 0b1a7edfea rtpjitterbuffer: send lost event before signaling next buffer
First send the lost event, then update the next_seqnum counter and then
send the signal to the pushing thread that it can retry to push a buffer. This
avoids pushing out buffers before the lost event is pushed.
2013-09-23 14:45:25 +02:00
Wim Taymans 5051f51f0a jitterbuffer: configure clock-rate on jitterbuffer
Add a get and setter to configure the clock-rate in the jitterbuffer instead of
passing it as an argument to the insert method.
2013-09-23 14:45:24 +02:00
Wim Taymans a71014518c tests: add test for packet delay and retransmission 2013-09-23 14:45:24 +02:00
Wim Taymans 3c421e7e48 rtpjitterbuffer: add option to reset retransmission timers 2013-09-23 14:45:24 +02:00
Wim Taymans 6f4deab298 rtpjitterbuffer: stop the timer thread
The timeout code could release the lock so we need to check if we are allowed to
wait for the clock some more.
2013-09-23 14:45:24 +02:00
Wim Taymans cba4e6a707 rtpjitterbuffer: unlock only once 2013-09-23 14:45:24 +02:00
Wim Taymans c959cdc8c1 tests: check both PTS and DTS 2013-09-23 14:45:24 +02:00
Wim Taymans 2e3346eff9 tests: add unit-test for multiple missing packets
Check if multiple missing packets generate retransmission events and that the
retranmission requests are canceled when the missing packet arrives.
2013-09-23 14:45:24 +02:00
Wim Taymans 5dc207948c rtpjitterbuffer: improve flush and shutdown
There is no need to unschedule the timer in flush-start, flush-stop will remove
the timers and unschedule.
Unschedule the current timer before attempting to join the timer thread.
2013-09-23 14:45:23 +02:00
Wim Taymans 3b9e2ee5a0 tests: improve debug 2013-09-23 14:45:23 +02:00
Wim Taymans a512cc2d3c rtpjitterbuffer: set correct expected time
When we already have a timer for a packet, skip it but don't forget to adjust
the dts to the expected dts of the next packet.
2013-09-23 14:45:23 +02:00
Wim Taymans 517ea0f4d9 jitterbuffer: improve debug 2013-09-23 14:45:23 +02:00
Wim Taymans c395bf62dd alpha: use POFFSET instead of OFFSET
Use the more correct POFFSET macro to get the offset of a component in its
plane. The offset macro gives the offset of the component relative to the start
of the frame.
2013-09-23 14:45:23 +02:00
Sebastian Dröge 94ad6724ba goom: Fix MMX assembly compilation with clang
clang does not want or need a clobber list for emms:
error: clobbers must be last on the x87 stack

Patch taken from the FreeBSD ports, provided by
Dan McGregor <dan.mcgregor@usask.ca>
2013-09-21 18:48:19 +02:00
Edward Hervey f83b2d3371 Automatic update of common submodule
From b613661 to 6b03ba7
2013-09-20 16:16:57 +02:00
Sebastian Dröge d8841b4832 matroska-demux: Make sure that subtitle buffers are \0-terminated
https://bugzilla.gnome.org/show_bug.cgi?id=707933
2013-09-20 10:22:40 +02:00
Andoni Morales Alastruey cfefdaebb6 qtmux: handle issues correctly when downstream is not seekable
The streamable property only make sense for fragmented formats.
For regular MP4, when downstream is not seekable we can't rewrite
the headers, so qtmux can only work with fast-start=TRUE, where
the headers are written finishing the file.
For fragmented MP4, when streamable is not seekable and the streamable
property is FALSE, we must enforce streamable=TRUE warning the user
about this change

https://bugzilla.gnome.org/show_bug.cgi?id=707242
2013-09-20 10:09:48 +02:00
Andoni Morales Alastruey 9ae5082204 qtmux: make "streamable" TRUE as default
The most common use case for fragmented MP4 (Dash and Smooth Streaming)
is producing streamable content (even for VOD). streamable=FALSE would only
be used to generate fragmented MP4 with and index of MOOF's that could
be reproduced without a playlist/manifest
https://bugzilla.gnome.org/show_bug.cgi?id=707242
2013-09-20 10:09:48 +02:00
Andoni Morales Alastruey 5732684e18 qtmux: deprecate the streamable property for non-fragmented MP4
The streamable property only makes sense for fragmented MP4.
https://bugzilla.gnome.org/show_bug.cgi?id=707242
2013-09-20 10:09:48 +02:00
Olivier Crête 19021e7176 v4l2: Remove commented out line 2013-09-19 17:39:17 -04:00
Tim-Philipp Müller 153b6e0c63 Automatic update of common submodule
From 74a6857 to b613661
2013-09-19 18:43:08 +01:00
Tim-Philipp Müller e2f33e41d5 Automatic update of common submodule
From 098c0d7 to 74a6857
2013-09-19 17:35:27 +01:00
Wim Taymans 926e2fa93b alpha: don't assume planar formats have just 1 block
Don't assume planar formats have just one memory block with the data but use the
macros to access the right memory block where a component can be found.
2013-09-19 16:50:44 +02:00
Wim Taymans ee817363c7 tests: add retransmission jitterbuffer test
Store both DTS and PTS on buffers.
Make a queue for srcpad events.
Activate pads after linking so that we don't get RECONFIGURE events.
Add test for retransmission.
2013-09-19 14:32:48 +02:00
Wim Taymans fd6c57cf10 rtpjitterbuffer: keep delay as a separate variable in timer
Keep a separate delay in the timer so that we still know the original timestamp
of the packet that this timer refers to. We can then place the correct
running-time in the Retransmission event.
2013-09-19 14:32:48 +02:00
Wim Taymans d34184dd03 rtpjitterbuffer: fix writability of properties 2013-09-19 14:32:48 +02:00
Sebastian Dröge d5ecd4ee2f Back to development 2013-09-19 11:34:57 +02:00
Sebastian Dröge b305c85ddd Release 1.1.90 2013-09-19 10:50:23 +02:00
Sebastian Dröge 630530324e Update .po files 2013-09-19 10:21:42 +02:00
Sebastian Dröge 2d1ea31da3 po: Update translations 2013-09-19 09:45:36 +02:00
Olivier Crête d1e16f7b0c v4l2bufferpool: dmabuf is not a singleton anymore
https://bugzilla.gnome.org/show_bug.cgi?id=707793
2013-09-18 15:13:59 -04:00
Thiago Santos c84282b9a6 souphttpsrc: do not do http requests in READY
HEAD requests to discover if the server is seekable shouldn't be done in
READY as it might lock the main thread that is doing the state change.

https://bugzilla.gnome.org/show_bug.cgi?id=705371
2013-09-18 18:36:38 +02:00