Wim Taymans [Tue, 27 Aug 2013 07:33:03 +0000 (09:33 +0200)]
jitterbuffer: only timeout EXPECTED timers on gap
Only timeout the EXPECTED timers when we detect a large seqnum gap.
Sebastian Dröge [Mon, 26 Aug 2013 11:47:53 +0000 (13:47 +0200)]
configure.ac: Don't set BZ2_LIBS if bz2 is not found
Wim Taymans [Mon, 26 Aug 2013 09:50:27 +0000 (11:50 +0200)]
rtsession: fix locking
We need to take the session lock when getting and manipulating the
source.
Wim Taymans [Mon, 26 Aug 2013 09:50:13 +0000 (11:50 +0200)]
rtpsession: add some more debug
Mathieu Duponchelle [Tue, 20 Aug 2013 20:12:03 +0000 (22:12 +0200)]
videomixer: don't send flush_stop twice.
If we get flush start and a seek we need to only send flush_stop once.
More info at #706441
Tim-Philipp Müller [Fri, 23 Aug 2013 14:56:43 +0000 (15:56 +0100)]
multipartdemux: propagate discont
Tim-Philipp Müller [Fri, 23 Aug 2013 14:49:47 +0000 (15:49 +0100)]
multipartdemux: remove dynamic sourcpads when going from PAUSED to READY
Tim-Philipp Müller [Fri, 23 Aug 2013 14:29:28 +0000 (15:29 +0100)]
multipartdemux: timestamp output buffers based on first input buffer that provided bytes not last
https://bugzilla.gnome.org/show_bug.cgi?id=637754
Wim Taymans [Fri, 23 Aug 2013 13:47:25 +0000 (15:47 +0200)]
rtxqueue: add property to configure queue size
Wim Taymans [Fri, 23 Aug 2013 10:07:55 +0000 (12:07 +0200)]
tests: add retransmission example
Wim Taymans [Fri, 23 Aug 2013 09:55:02 +0000 (11:55 +0200)]
rtpbin: proxy jitterbuffer do-retransmission property
Michael Olbrich [Fri, 23 Aug 2013 09:17:45 +0000 (11:17 +0200)]
avimux: unmap the correct buffer
The audio buffer was mapped so unmap it and not the video buffer
https://bugzilla.gnome.org/show_bug.cgi?id=706642
Olivier Crête [Mon, 19 Aug 2013 03:32:22 +0000 (23:32 -0400)]
pulsesink: Add property to find out the device currently in use
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Olivier Crête [Mon, 19 Aug 2013 03:31:15 +0000 (23:31 -0400)]
pulsesink: De-duplicate code to get the current sink input info
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Olivier Crête [Mon, 19 Aug 2013 02:27:37 +0000 (22:27 -0400)]
pulsesink: Implement changing the device while playing
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Olivier Crête [Mon, 19 Aug 2013 03:32:22 +0000 (23:32 -0400)]
pulsesrc: Add property to find out the device currently in use
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Olivier Crête [Mon, 19 Aug 2013 03:31:15 +0000 (23:31 -0400)]
pulsesrc: De-duplicate code to get the current source output info
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Olivier Crête [Mon, 19 Aug 2013 02:27:37 +0000 (22:27 -0400)]
pulsesrc: Implement changing the device while playing
https://bugzilla.gnome.org/show_bug.cgi?id=590768
Sebastian Dröge [Thu, 22 Aug 2013 12:55:14 +0000 (14:55 +0200)]
configure: Fix bz2 configure check for Windows
Due to function decorations on Windows AC_CHECK_LIB can't be used to check for bz2.
https://bugzilla.gnome.org/show_bug.cgi?id=465924
Akihiro Tsukada [Fri, 22 Feb 2013 11:57:00 +0000 (20:57 +0900)]
pulsesink: Add support for AAC pass-through
https://bugzilla.gnome.org/show_bug.cgi?id=694445
Kishore Arepalli [Mon, 24 Jun 2013 15:29:37 +0000 (17:29 +0200)]
gdkpixbufoverlay: crashes if any property changes during playback when location property is not set
https://bugzilla.gnome.org/show_bug.cgi?id=702988
Olivier Crête [Wed, 21 Aug 2013 18:54:26 +0000 (14:54 -0400)]
pulse: Share static caps definition between src and sink
The src was also missing 24-bit sample formats
Wim Taymans [Wed, 21 Aug 2013 14:53:59 +0000 (16:53 +0200)]
rtx: various improvements
Use locking
Don't push from the event handler, collected packets in a queue and push from
the chain function.
Clear queues on shutdown.
Wim Taymans [Wed, 21 Aug 2013 14:50:59 +0000 (16:50 +0200)]
session: generate events correctly
Do correct shifting of the bitmask for lost packets.
Wim Taymans [Wed, 21 Aug 2013 14:47:40 +0000 (16:47 +0200)]
rtp: register rtx element better
Sebastian Dröge [Wed, 21 Aug 2013 14:32:50 +0000 (16:32 +0200)]
directsoundsink: WAVEFORMATEX is unsigned for 8 bit integers, and signed for others
Probably fixes
https://bugzilla.gnome.org/show_bug.cgi?id=705477
Tim-Philipp Müller [Wed, 21 Aug 2013 12:03:34 +0000 (13:03 +0100)]
jpegenc: don't ignore return value from _finish_frame()
gst_video_encoder_finish_frame() will return FLOW_OK here if
there's no output buffer.
Wim Taymans [Wed, 21 Aug 2013 10:56:35 +0000 (12:56 +0200)]
jpegdepay: add some more debug
Wim Taymans [Wed, 21 Aug 2013 10:10:00 +0000 (12:10 +0200)]
rtpgstdepay: only push events when they changed
Keep track of the STREAM_START and TAG events and only push them
when they changed.
Wim Taymans [Wed, 21 Aug 2013 08:52:59 +0000 (10:52 +0200)]
rtpgstpay: taglists should not be merged in 1.0
Wim Taymans [Wed, 21 Aug 2013 08:28:50 +0000 (10:28 +0200)]
rtpgstdepay: flush on FLUSH_STOP event
Wim Taymans [Wed, 21 Aug 2013 08:03:52 +0000 (10:03 +0200)]
rtpgstpay: reset on state change
Do full reset on state change to READY
Wim Taymans [Wed, 21 Aug 2013 07:55:20 +0000 (09:55 +0200)]
rtpgstpay: reset on FLUSH_STOP
Clear the adapter and pending buffer list on FLUSH_STOP.
Wim Taymans [Wed, 21 Aug 2013 07:39:30 +0000 (09:39 +0200)]
rtpgstpay: don't use clock for config interval
We can't use the clock to time our config-interval because we are not
live (or there might not be a clock or the clock might not be running).
Instead just simply take the timestamp diff.
Wim Taymans [Wed, 21 Aug 2013 07:33:04 +0000 (09:33 +0200)]
rtpgstay: don't use // comments
Youness Alaoui [Thu, 8 Aug 2013 15:55:22 +0000 (11:55 -0400)]
rtspsrc: Fix response argument in handle-request signal
Youness Alaoui [Thu, 8 Aug 2013 15:54:41 +0000 (11:54 -0400)]
rtspsrc: Add sdes property and proxy it to rtpbin
Youness Alaoui [Wed, 7 Aug 2013 13:47:35 +0000 (09:47 -0400)]
Send a stream-start whenever we send tags
This is to make sure tags are cleared on the client if the
stream-start was previously lost, otherwise, the client may end
up with a merged taglist of multiple songs
Youness Alaoui [Fri, 26 Jul 2013 01:12:05 +0000 (21:12 -0400)]
rtpgstpay: Add a config-interval property to resend the caps/tags at a regular interval
This is useful in case the packet containing the inlined caps was lost
or if new client joins an already running RTP stream and they missed
the previous tag events.
This also makes the payloader keep a list of merged tags so the retransmitted
tag event contains all previously received. A STREAM_START event will
flush the list of tags.
Youness Alaoui [Fri, 26 Jul 2013 01:10:10 +0000 (21:10 -0400)]
rtpgstpay: Refactor the setcaps and use new method to send arbitrary caps at any time
Youness Alaoui [Fri, 26 Jul 2013 01:03:34 +0000 (21:03 -0400)]
rtpgstpay: Do not flush events for stream-start and avoid conflict between event and pending inline caps
Youness Alaoui [Fri, 26 Jul 2013 00:54:50 +0000 (20:54 -0400)]
rtpgstpay: Add a create_from_adapter API and use a list of GstBufferList
This is necessary to fix event/caps sending. If we send a STREAM_START
packet, it will cause an error because the stream didn't receive its
caps and new-segment events, so we must wait for the first buffer before
sending the stream-start event buffer. However, the caps will be sent
at the same time and so the 'inline caps' will be set for the event.
We need to be able to payload individual packets (data, caps or events)
and only send them when we call flush.
Youness Alaoui [Thu, 25 Jul 2013 21:56:38 +0000 (17:56 -0400)]
rtpgstpay: Add etype=4 for payloading GST_EVENT_STREAM_START
Youness Alaoui [Thu, 25 Jul 2013 21:52:16 +0000 (17:52 -0400)]
rtpgstpay: Fix typo, GST_EVENT_CUSTOM_BOTH has etype of 3
Wim Taymans [Tue, 20 Aug 2013 12:36:59 +0000 (14:36 +0200)]
jitterbuffer: handle EOS
When the queue is empty, and we received EOS, pause and push an EOS
event downstream.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706387
Wim Taymans [Tue, 20 Aug 2013 08:26:15 +0000 (10:26 +0200)]
jitterbuffer: update docs
Wim Taymans [Tue, 20 Aug 2013 08:25:17 +0000 (10:25 +0200)]
jitterbuffer: update all timers
Keep looping over all registered timers so that we can mark them lost instead of
stopping as soon as we find the timer for the current seqnum.
Wim Taymans [Tue, 20 Aug 2013 06:55:50 +0000 (08:55 +0200)]
jitterbuffer: remove unused variables
Wim Taymans [Mon, 19 Aug 2013 19:10:00 +0000 (21:10 +0200)]
jitterbuffer: reorganize timer handling
Restructure handling of incomming packet and the gap with the expected seqnum
and register all timers from the _chain function.
Convert a timer to a LOST packet timer when the max amount of retransmission
requests has been reached.
Wim Taymans [Mon, 19 Aug 2013 19:37:44 +0000 (21:37 +0200)]
jitterbuffer: refactor packet spacing calculation
Wim Taymans [Mon, 19 Aug 2013 19:34:38 +0000 (21:34 +0200)]
jitterbuffer: keep track of last seqnum and dts
Wim Taymans [Mon, 19 Aug 2013 19:29:49 +0000 (21:29 +0200)]
jitterbuffer: small cleanups
Wim Taymans [Mon, 19 Aug 2013 19:21:08 +0000 (21:21 +0200)]
jitterbuffer: reset retransmission timers in add/reschedule
Reset the retransmission timers when adding and rescheduling a timer.
Wim Taymans [Mon, 19 Aug 2013 19:12:13 +0000 (21:12 +0200)]
jitterbuffer: rename variables for packet spacing
Wim Taymans [Mon, 19 Aug 2013 12:58:01 +0000 (14:58 +0200)]
jitterbuffer: remove lost timer when we get the packet
When we receive a packet, also remove the LOST timer for it.
Wim Taymans [Mon, 19 Aug 2013 12:56:49 +0000 (14:56 +0200)]
jitterbuffer: expected seqnum must increase
Only update the expected seqnum when it is bigger than the previous expected
seqnum.
Wim Taymans [Mon, 19 Aug 2013 12:55:49 +0000 (14:55 +0200)]
jitterbuffer: add more debug
Wim Taymans [Mon, 12 Aug 2013 14:15:54 +0000 (16:15 +0200)]
rtxqueue: add retransmission queue element
Wim Taymans [Mon, 12 Aug 2013 12:53:33 +0000 (14:53 +0200)]
session: add some docs
Wim Taymans [Tue, 6 Aug 2013 14:29:54 +0000 (16:29 +0200)]
session: handle NACK feedback and generate events
Handle and parse the feedback NACK packets and generate a Retransmission
event for each NACKed packet
Olivier Crête [Mon, 19 Aug 2013 17:19:42 +0000 (13:19 -0400)]
v4l2: Add forward declaration for gst_v4l2_object_get_format_list
Olivier Crête [Mon, 22 Oct 2012 21:58:07 +0000 (17:58 -0400)]
v4l2: De-duplicate caps probing between src and sink
Olivier Crête [Tue, 13 Aug 2013 21:32:17 +0000 (17:32 -0400)]
pulse: Remove unused GstPulseProbe
Olivier Crête [Mon, 19 Aug 2013 16:46:45 +0000 (12:46 -0400)]
v4l2: Use G_DEFINE_ macros for added thread safety
Thibault Saunier [Sat, 17 Aug 2013 09:28:13 +0000 (11:28 +0200)]
videomixer: Do not send flush_stop ourself after a flush_start
When we receive a flush_start, we should wait for the next flush_stop
and foward it, not create a flush_stop ourself.
Wim Taymans [Fri, 16 Aug 2013 15:10:31 +0000 (17:10 +0200)]
h264depay: init debug category early
Init the debug variable when we register the element because it is also used by
the payloader element when it calls the add_sps_pps method.
Sebastian Dröge [Fri, 16 Aug 2013 11:26:28 +0000 (13:26 +0200)]
flacenc: Properly set headers via the base class instead of just pushing them downstream
Prevents buffers from being send before the caps and segment events.
Chris Bass [Thu, 15 Aug 2013 09:59:10 +0000 (10:59 +0100)]
qtdemux: check denominator isn't zero before scaling duration.
When gst_qtdemux_configure_stream sets fps_d, check that n_samples is
non-zero before using it as a denominator to scale the stream duration.
https://bugzilla.gnome.org/show_bug.cgi?id=706076
Sebastian Dröge [Thu, 15 Aug 2013 13:08:05 +0000 (15:08 +0200)]
ext: Use new flush vfunc of video codec base classes and remove reset implementations
Wim Taymans [Wed, 14 Aug 2013 14:19:32 +0000 (16:19 +0200)]
jitterbuffer: forward flush before stopping dataflow
First forward the flush event and then stop our loop function.
Tim-Philipp Müller [Wed, 14 Aug 2013 12:10:32 +0000 (13:10 +0100)]
configure: require libsoup >= 2.38
Bump libsoup requirement for newer API used, like headers_get_one().
2.38 is from early 2012 and is in linen with our GLib requirement.
Tim-Philipp Müller [Wed, 14 Aug 2013 10:54:19 +0000 (11:54 +0100)]
soup: don't use deprecated soup_message_headers_get() API
Edward Hervey [Tue, 13 Aug 2013 15:44:50 +0000 (17:44 +0200)]
.gitignore: Ignore files from automake test-driver
Olivier Crête [Mon, 12 Aug 2013 19:28:34 +0000 (15:28 -0400)]
rtph264pay: Use the SPS/PPS handling function from the depayloader
Remove duplicated copies
https://bugzilla.gnome.org/show_bug.cgi?id=705553
Olivier Crête [Mon, 12 Aug 2013 19:26:08 +0000 (15:26 -0400)]
rtph264depay: Make the SPS/PPS deduplication function generic
Make it not touch any internals of the depayloader
https://bugzilla.gnome.org/show_bug.cgi?id=705553
Chris Bass [Tue, 13 Aug 2013 13:09:20 +0000 (14:09 +0100)]
aacparse: allow conversion from raw AAC to ADTS
This patch will prepend ADTS headers to raw AAC audio frames, allowing
upstream elements to link to decoders that only support AAC in ADTS format.
Note that no error correction bits are added to ADTS frames in this code.
https://bugzilla.gnome.org/show_bug.cgi?id=615740
Sebastian Dröge [Tue, 13 Aug 2013 10:44:11 +0000 (12:44 +0200)]
rtspsrc: Only free GCheckSum after its last usage
https://bugzilla.gnome.org/show_bug.cgi?id=705760
Andoni Morales Alastruey [Tue, 13 Aug 2013 10:02:29 +0000 (12:02 +0200)]
souphttpsrc: fix critical setting a NULL uri redirection
Andoni Morales Alastruey [Fri, 12 Jul 2013 23:50:56 +0000 (01:50 +0200)]
souphttpsrc: add redirection to the URI query
Matej Knopp [Wed, 31 Jul 2013 08:42:07 +0000 (10:42 +0200)]
qtdemux: elst should offset samples instead of buffers
The current approach where buffers are offset is not ideal, as during seek
and loop current time is compared to sample times.
https://bugzilla.gnome.org/show_bug.cgi?id=700264
Thibault Saunier [Wed, 7 Aug 2013 17:32:07 +0000 (19:32 +0200)]
videomixer: Send EOS if buf_end >= segment.stop
That means the whole segment is already played, and we are sure we
are EOS at that point.
Also handle segment seeks, and do not send EOS in that case.
Matej Knopp [Sun, 4 Aug 2013 12:40:38 +0000 (14:40 +0200)]
avidemux: send proper stream_start event
https://bugzilla.gnome.org//show_bug.cgi?id=705449
Sebastian Dröge [Thu, 8 Aug 2013 09:51:17 +0000 (11:51 +0200)]
matroskademux: Don't print warnings during flushing and stop as soon as possible
https://bugzilla.gnome.org//show_bug.cgi?id=705442
Tim-Philipp Müller [Wed, 7 Aug 2013 10:14:38 +0000 (11:14 +0100)]
rtpvp8depay: mark key frames and delta frames properly
https://bugzilla.gnome.org/show_bug.cgi?id=705550
Wim Taymans [Mon, 5 Aug 2013 21:23:57 +0000 (23:23 +0200)]
session: add NACK feedback in RTCP
Wim Taymans [Mon, 5 Aug 2013 21:22:16 +0000 (23:22 +0200)]
source: add methods to register NACK
Add a method to register a missing packet for an ssrc along with
methods to get the missing packets and clear them.
Wim Taymans [Sun, 4 Aug 2013 21:05:36 +0000 (23:05 +0200)]
session: handle Retransmission event and schedule NACK
Handle the retransmission event from downstream and use it to schedule a NACK
request.
Wim Taymans [Mon, 5 Aug 2013 21:20:29 +0000 (23:20 +0200)]
session: pass data to remove func
Pass the data to the remove function because we are going to deref it when there
is pli or fir.
Thibault Saunier [Tue, 6 Aug 2013 13:28:50 +0000 (15:28 +0200)]
qtdemux: Fix compilation
Thibault Saunier [Tue, 6 Aug 2013 13:17:44 +0000 (15:17 +0200)]
qtdemux: Raw buffer DTS should always be CLOCK_TIME_NONE
Thibault Saunier [Tue, 6 Aug 2013 09:58:38 +0000 (11:58 +0200)]
videomixer: Make sure to send EOS if the buffer end time equals the segment end time
Otherwize EOS never gets sent in that particular case.
Sjoerd Simons [Mon, 5 Aug 2013 06:49:50 +0000 (08:49 +0200)]
goom: Ensure src caps are writable
In some cases the src caps determined by goom weren't writable, causing
a bunch of assertion failures and failed caps. Fixed by always
explicitely making the caps writable
https://bugzilla.gnome.org/show_bug.cgi?id=705475
Wim Taymans [Sun, 4 Aug 2013 21:18:29 +0000 (23:18 +0200)]
session: use common send_rtcp method
Reuse the send_rtcp method that already asks for the current time when
requesting a keyframe.
Wim Taymans [Sun, 4 Aug 2013 21:12:50 +0000 (23:12 +0200)]
session: Don't use ClockTimeDiff for unsigned delays
Edward Hervey [Sun, 4 Aug 2013 14:52:15 +0000 (16:52 +0200)]
qtmux: Use buffer PTS if DTS is not set
Avoids ending up with completely bogus scaled duration/pts when new
buffers have invalid DTS.
Tim-Philipp Müller [Sun, 4 Aug 2013 13:32:47 +0000 (14:32 +0100)]
tests: skip https test if there's no TLS support in soup/glib
Tim-Philipp Müller [Sun, 4 Aug 2013 10:20:41 +0000 (11:20 +0100)]
rtpdec: use generic marshaller
Tim-Philipp Müller [Sun, 4 Aug 2013 09:52:33 +0000 (10:52 +0100)]
v4l2: remove unused enumtypes and use generic marshaller
Tim-Philipp Müller [Sun, 4 Aug 2013 09:47:38 +0000 (10:47 +0100)]
udp: remove unused marshal and enumtypes files
Tim-Philipp Müller [Sun, 4 Aug 2013 08:38:19 +0000 (09:38 +0100)]
rtpmanager: use generic marshaller