platform/upstream/gstreamer.git
11 years agomatroskademux: Preserve seqnum when pushing seek upstream
Thiago Santos [Tue, 10 Sep 2013 20:57:49 +0000 (17:57 -0300)]
matroskademux: Preserve seqnum when pushing seek upstream

After converting a seek from time to bytes, use the same seqnum
on the event that goes upstream

11 years agoqtdemux: track streams that are EOS on push mode to finish earlier
Thiago Santos [Thu, 5 Sep 2013 03:17:16 +0000 (00:17 -0300)]
qtdemux: track streams that are EOS on push mode to finish earlier

When the segment has a defined stop position, qtdemux should check
when streams reach this position and mark those as EOS. When all
streams are EOS it will return GST_FLOW_EOS to upstream to allow
the pipeline to finish instead of continuously consume buffers
from upstream that are not useful for the segment.

https://bugzilla.gnome.org/show_bug.cgi?id=707530

11 years agoqtdemux: preserve stop of segment when doing seeks in push mode
Thiago Santos [Wed, 4 Sep 2013 18:34:35 +0000 (15:34 -0300)]
qtdemux: preserve stop of segment when doing seeks in push mode

When handling seeks in push mode, qtdemux converts the seek to bytes
and pushes upstream. It needs to keep track of the seek and the
subsequent segment to be able to map them back to the requested
seek time and properly preserve the segment stop of the seek.

This is done by using the start offset in bytes of the seek,
that should be the same of the segment from upstream. And this
is also backwards compatible with what qtdemux already was using.

https://bugzilla.gnome.org/show_bug.cgi?id=707530

11 years agovideomixer: Add colorspace conversion
Mathieu Duponchelle [Fri, 26 Jul 2013 17:40:53 +0000 (19:40 +0200)]
videomixer: Add colorspace conversion

https://bugzilla.gnome.org/show_bug.cgi?id=704950

11 years agovideomixer: Don't send reconfigure event when formats or PAR are different
Mathieu Duponchelle [Tue, 6 Aug 2013 13:38:39 +0000 (15:38 +0200)]
videomixer: Don't send reconfigure event when formats or PAR are different

It is racy with multiple pads.

https://bugzilla.gnome.org/show_bug.cgi?id=704950

11 years agovideomixer: Bundle private copies of videoconvert code
Mathieu Duponchelle [Thu, 25 Jul 2013 11:49:57 +0000 (13:49 +0200)]
videomixer: Bundle private copies of videoconvert code

Ideally, this would be part of libgstvideo.
Prefixes videoconvert symbols with videomixer_.

https://bugzilla.gnome.org/show_bug.cgi?id=704950

11 years agov4l2: Use newly #defined metadata names.
Mathieu Duponchelle [Wed, 21 Aug 2013 22:03:48 +0000 (00:03 +0200)]
v4l2: Use newly #defined metadata names.

11 years agortspsrc: only wait if we flushed
Wim Taymans [Mon, 9 Sep 2013 13:11:51 +0000 (15:11 +0200)]
rtspsrc: only wait if we flushed

Only wait for the STREAM_LOCK when we flushed something when sending
a command for PAUSED or PLAYING.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707611

11 years agortspsrc: return when a flush was issued
Wim Taymans [Mon, 9 Sep 2013 13:09:41 +0000 (15:09 +0200)]
rtspsrc: return when a flush was issued

Make gst_rtspsrc_loop_send_cmd() return TRUE when the current
action has been flushed

11 years agortp: add L24 pay and depayloader
David Holroyd [Mon, 9 Sep 2013 09:16:40 +0000 (11:16 +0200)]
rtp: add L24 pay and depayloader

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707734

11 years agov4l2bufferpool: Fix missing condition in previous commit
Sebastian Dröge [Mon, 9 Sep 2013 12:46:42 +0000 (14:46 +0200)]
v4l2bufferpool: Fix missing condition in previous commit

11 years agov4l2bufferpool: Also fix strides for other semi-planar video formats
Sebastian Dröge [Mon, 9 Sep 2013 12:44:58 +0000 (14:44 +0200)]
v4l2bufferpool: Also fix strides for other semi-planar video formats

11 years agov4l2bufferpool: Fix stride for NV12/NV21
Andreea Fulger [Mon, 9 Sep 2013 12:41:42 +0000 (14:41 +0200)]
v4l2bufferpool: Fix stride for NV12/NV21

https://bugzilla.gnome.org/show_bug.cgi?id=707758

11 years agomatroskademux: fix leaking buffer and caps
Matej Knopp [Sat, 7 Sep 2013 14:37:03 +0000 (16:37 +0200)]
matroskademux: fix leaking buffer and caps

https://bugzilla.gnome.org/show_bug.cgi?id=707688

11 years agoudpsrc: fix build on win32
Tim-Philipp Müller [Thu, 5 Sep 2013 18:46:37 +0000 (19:46 +0100)]
udpsrc: fix build on win32

gstudpsrc.c:855:15: error: #if with no expression

11 years agoavidemux: handle unseekable streams
Wim Taymans [Wed, 4 Sep 2013 13:50:42 +0000 (15:50 +0200)]
avidemux: handle unseekable streams

Handle streams that we can't seek in and ignore them in the
seek logic.

11 years agoavidemux: only check video compression for video streams
Wim Taymans [Wed, 4 Sep 2013 13:25:39 +0000 (15:25 +0200)]
avidemux: only check video compression for video streams

Or else we might deref a stream with a NULL strf.vids and segfault

11 years agoqtdemux: Add support for the avc3 sample entry format of the AVC file format
Alex Ashley [Tue, 18 Jun 2013 12:27:20 +0000 (13:27 +0100)]
qtdemux: Add support for the avc3 sample entry format of the AVC file format

Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial
MOOV box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data
goes in the first sample of every fragment (i.e. the first sample in
each mdat box).  The principal reason for avc3 is to make it easier
for client implementations, because it removes the requirement to
insert the SPS+PPS in to the decoder pipeline every time there is a
representation change.

This commit adds support for the "avc3" atom, which is almost identical
to the "avc1" atom, except it does not contain any SPS or PPS data.

https://bugzilla.gnome.org/show_bug.cgi?id=702004

11 years agovideomixer: Don't set EOS to FALSE when the collectpad *is* EOS
Mathieu Duponchelle [Tue, 3 Sep 2013 22:27:50 +0000 (00:27 +0200)]
videomixer: Don't set EOS to FALSE when the collectpad *is* EOS

https://bugzilla.gnome.org/show_bug.cgi?id=707238

11 years agoflacparse: cleanup on error after state change
Matej Knopp [Tue, 3 Sep 2013 15:32:41 +0000 (17:32 +0200)]
flacparse: cleanup on error after state change

https://bugzilla.gnome.org/show_bug.cgi?id=707229

11 years agoudpsrc: Bind to multicast addresses on non-Windows systems
Sebastian Dröge [Tue, 3 Sep 2013 09:23:24 +0000 (11:23 +0200)]
udpsrc: Bind to multicast addresses on non-Windows systems

On Windows it's not possible to bind to a multicast address
but the OS will make sure to filter out all packets that
arrive not for the multicast address the socket joined.

On Linux and others it is necessary to bind to a multicast
address to let the OS filter out all packets that are received
on the same port but for different addresses than the multicast
address

And deprecate the multicast-group property and replace it with the
address property.

https://bugzilla.gnome.org/show_bug.cgi?id=707042

11 years agoflacparse: Free GstBaseParseFrame if pushing a header failed
Matej Knopp [Tue, 3 Sep 2013 08:10:01 +0000 (10:10 +0200)]
flacparse: Free GstBaseParseFrame if pushing a header failed

11 years agoudpsrc: Refactor address resolval into its own function
Sebastian Dröge [Mon, 2 Sep 2013 14:02:37 +0000 (16:02 +0200)]
udpsrc: Refactor address resolval into its own function

11 years agoreplaygain: fix taglist leak in rganalysis
Tim-Philipp Müller [Mon, 2 Sep 2013 22:00:29 +0000 (23:00 +0100)]
replaygain: fix taglist leak in rganalysis

And add some FIXMEs.

11 years agotests: rganalysis: rename function for clarity
Tim-Philipp Müller [Mon, 2 Sep 2013 21:50:58 +0000 (22:50 +0100)]
tests: rganalysis: rename function for clarity

11 years agotests: fix skipped rganalysis tests
Christoph Reiter [Mon, 18 Mar 2013 13:32:07 +0000 (14:32 +0100)]
tests: fix skipped rganalysis tests

In 0.10 elements would post tag messages on the bus
directly, and rganalysis would only post a tag message
when it changed tags. In 1.0, only sinks post tag
messages when they receive the serialised tag event.
This means that we get an additional tag message on
the bus now where we didn't expect one before.

https://bugzilla.gnome.org/show_bug.cgi?id=695090

11 years agoflacparse: Properly propagate downstream flow returns upstream
Sebastian Dröge [Mon, 2 Sep 2013 09:46:52 +0000 (11:46 +0200)]
flacparse: Properly propagate downstream flow returns upstream

https://bugzilla.gnome.org/show_bug.cgi?id=707229

11 years agoDon't use setlocale in plugins()
Tim-Philipp Müller [Sun, 1 Sep 2013 20:18:38 +0000 (21:18 +0100)]
Don't use setlocale in plugins()

Only apps should call setlocale(), not libraries.

11 years agortpmpvpay: Fix RTP buffer allocation in rtpmpvpay
Wim Taymans [Thu, 29 Aug 2013 11:15:15 +0000 (13:15 +0200)]
rtpmpvpay: Fix RTP buffer allocation in rtpmpvpay

RTP buffer allocation should not be done with padding for the specific MPEG2
header as the padding is done at the end of the buffer and the last byte is
the size of the padding.

https://bugzilla.gnome.org/show_bug.cgi?id=706970

11 years agoautovideosink: add sync property
Bernhard Miller [Wed, 28 Aug 2013 08:51:32 +0000 (10:51 +0200)]
autovideosink: add sync property

https://bugzilla.gnome.org/show_bug.cgi?id=706955

11 years agoautoaudiosink: introduce sync property
Bernhard Miller [Wed, 28 Aug 2013 05:15:00 +0000 (07:15 +0200)]
autoaudiosink: introduce sync property

https://bugzilla.gnome.org/show_bug.cgi?id=706955

11 years agoqtdemux: push buffers after segment stop until reaching a keyframe
Thiago Santos [Tue, 27 Aug 2013 20:33:40 +0000 (17:33 -0300)]
qtdemux: push buffers after segment stop until reaching a keyframe

This should make decoders able to precisely push buffers until the stop
time in case they need the next keyframe to do it.

Also, according to gst_segment_clip, it should only push a buffer that
the starting ts is strictly smaller than the segment stop, so we change
the min < comparison for <=

11 years agoBack to development
Sebastian Dröge [Wed, 28 Aug 2013 11:26:47 +0000 (13:26 +0200)]
Back to development

11 years agoRelease 1.1.4
Sebastian Dröge [Wed, 28 Aug 2013 10:52:25 +0000 (12:52 +0200)]
Release 1.1.4

11 years agoUpdate .po files
Sebastian Dröge [Wed, 28 Aug 2013 10:52:16 +0000 (12:52 +0200)]
Update .po files

11 years agopo: update translations
Sebastian Dröge [Wed, 28 Aug 2013 10:32:10 +0000 (12:32 +0200)]
po: update translations

11 years agomatroska-mux: remove framerate restriction
Wim Taymans [Tue, 27 Aug 2013 13:25:16 +0000 (15:25 +0200)]
matroska-mux: remove framerate restriction

Remove the framerate restriction on the caps.

11 years agosession: only update next check time when reconsidering
Wim Taymans [Tue, 27 Aug 2013 07:38:16 +0000 (09:38 +0200)]
session: only update next check time when reconsidering

Don't update the next RTCP check time in all cases but only when we
reconsidered. This avoids delaying sending a full RTCP packet when we
are doing early feedback.

11 years agosession: add more debug
Wim Taymans [Tue, 27 Aug 2013 07:37:33 +0000 (09:37 +0200)]
session: add more debug

11 years agojitterbuffer: fix types of the retransmission event
Wim Taymans [Tue, 27 Aug 2013 07:34:46 +0000 (09:34 +0200)]
jitterbuffer: fix types of the retransmission event

11 years agojitterbuffer: only timeout EXPECTED timers on gap
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.

11 years agoconfigure.ac: Don't set BZ2_LIBS if bz2 is not found
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

11 years agortsession: fix locking
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.

11 years agortpsession: add some more debug
Wim Taymans [Mon, 26 Aug 2013 09:50:13 +0000 (11:50 +0200)]
rtpsession: add some more debug

11 years agovideomixer: don't send flush_stop twice.
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

11 years agomultipartdemux: propagate discont
Tim-Philipp Müller [Fri, 23 Aug 2013 14:56:43 +0000 (15:56 +0100)]
multipartdemux: propagate discont

11 years agomultipartdemux: remove dynamic sourcpads when going from PAUSED to READY
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

11 years agomultipartdemux: timestamp output buffers based on first input buffer that provided...
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

11 years agortxqueue: add property to configure queue size
Wim Taymans [Fri, 23 Aug 2013 13:47:25 +0000 (15:47 +0200)]
rtxqueue: add property to configure queue size

11 years agotests: add retransmission example
Wim Taymans [Fri, 23 Aug 2013 10:07:55 +0000 (12:07 +0200)]
tests: add retransmission example

11 years agortpbin: proxy jitterbuffer do-retransmission property
Wim Taymans [Fri, 23 Aug 2013 09:55:02 +0000 (11:55 +0200)]
rtpbin: proxy jitterbuffer do-retransmission property

11 years agoavimux: unmap the correct buffer
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

11 years agopulsesink: Add property to find out the device currently in use
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

11 years agopulsesink: De-duplicate code to get the current sink input info
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

11 years agopulsesink: Implement changing the device while playing
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

11 years agopulsesrc: Add property to find out the device currently in use
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

11 years agopulsesrc: De-duplicate code to get the current source output info
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

11 years agopulsesrc: Implement changing the device while playing
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

11 years agoconfigure: Fix bz2 configure check for Windows
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

11 years agopulsesink: Add support for AAC pass-through
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

11 years agogdkpixbufoverlay: crashes if any property changes during playback when location prope...
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

11 years agopulse: Share static caps definition between src and sink
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

11 years agortx: various improvements
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.

11 years agosession: generate events correctly
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.

11 years agortp: register rtx element better
Wim Taymans [Wed, 21 Aug 2013 14:47:40 +0000 (16:47 +0200)]
rtp: register rtx element better

11 years agodirectsoundsink: WAVEFORMATEX is unsigned for 8 bit integers, and signed for others
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

11 years agojpegenc: don't ignore return value from _finish_frame()
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.

11 years agojpegdepay: add some more debug
Wim Taymans [Wed, 21 Aug 2013 10:56:35 +0000 (12:56 +0200)]
jpegdepay: add some more debug

11 years agortpgstdepay: only push events when they changed
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.

11 years agortpgstpay: taglists should not be merged in 1.0
Wim Taymans [Wed, 21 Aug 2013 08:52:59 +0000 (10:52 +0200)]
rtpgstpay: taglists should not be merged in 1.0

11 years agortpgstdepay: flush on FLUSH_STOP event
Wim Taymans [Wed, 21 Aug 2013 08:28:50 +0000 (10:28 +0200)]
rtpgstdepay: flush on FLUSH_STOP event

11 years agortpgstpay: reset on state change
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

11 years agortpgstpay: reset on FLUSH_STOP
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.

11 years agortpgstpay: don't use clock for config interval
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.

11 years agortpgstay: don't use // comments
Wim Taymans [Wed, 21 Aug 2013 07:33:04 +0000 (09:33 +0200)]
rtpgstay: don't use // comments

11 years agortspsrc: Fix response argument in handle-request signal
Youness Alaoui [Thu, 8 Aug 2013 15:55:22 +0000 (11:55 -0400)]
rtspsrc: Fix response argument in handle-request signal

11 years agortspsrc: Add sdes property and proxy it to rtpbin
Youness Alaoui [Thu, 8 Aug 2013 15:54:41 +0000 (11:54 -0400)]
rtspsrc: Add sdes property and proxy it to rtpbin

11 years agoSend a stream-start whenever we send tags
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

11 years agortpgstpay: Add a config-interval property to resend the caps/tags at a regular interval
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.

11 years agortpgstpay: Refactor the setcaps and use new method to send arbitrary caps at any...
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

11 years agortpgstpay: Do not flush events for stream-start and avoid conflict between event...
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

11 years agortpgstpay: Add a create_from_adapter API and use a list of GstBufferList
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.

11 years agortpgstpay: Add etype=4 for payloading GST_EVENT_STREAM_START
Youness Alaoui [Thu, 25 Jul 2013 21:56:38 +0000 (17:56 -0400)]
rtpgstpay: Add etype=4 for payloading GST_EVENT_STREAM_START

11 years agortpgstpay: Fix typo, GST_EVENT_CUSTOM_BOTH has etype of 3
Youness Alaoui [Thu, 25 Jul 2013 21:52:16 +0000 (17:52 -0400)]
rtpgstpay: Fix typo, GST_EVENT_CUSTOM_BOTH has etype of 3

11 years agojitterbuffer: handle EOS
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

11 years agojitterbuffer: update docs
Wim Taymans [Tue, 20 Aug 2013 08:26:15 +0000 (10:26 +0200)]
jitterbuffer: update docs

11 years agojitterbuffer: update all timers
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.

11 years agojitterbuffer: remove unused variables
Wim Taymans [Tue, 20 Aug 2013 06:55:50 +0000 (08:55 +0200)]
jitterbuffer: remove unused variables

11 years agojitterbuffer: reorganize timer handling
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.

11 years agojitterbuffer: refactor packet spacing calculation
Wim Taymans [Mon, 19 Aug 2013 19:37:44 +0000 (21:37 +0200)]
jitterbuffer: refactor packet spacing calculation

11 years agojitterbuffer: keep track of last seqnum and dts
Wim Taymans [Mon, 19 Aug 2013 19:34:38 +0000 (21:34 +0200)]
jitterbuffer: keep track of last seqnum and dts

11 years agojitterbuffer: small cleanups
Wim Taymans [Mon, 19 Aug 2013 19:29:49 +0000 (21:29 +0200)]
jitterbuffer: small cleanups

11 years agojitterbuffer: reset retransmission timers in add/reschedule
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.

11 years agojitterbuffer: rename variables for packet spacing
Wim Taymans [Mon, 19 Aug 2013 19:12:13 +0000 (21:12 +0200)]
jitterbuffer: rename variables for packet spacing

11 years agojitterbuffer: remove lost timer when we get the packet
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.

11 years agojitterbuffer: expected seqnum must increase
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.

11 years agojitterbuffer: add more debug
Wim Taymans [Mon, 19 Aug 2013 12:55:49 +0000 (14:55 +0200)]
jitterbuffer: add more debug

11 years agortxqueue: add retransmission queue element
Wim Taymans [Mon, 12 Aug 2013 14:15:54 +0000 (16:15 +0200)]
rtxqueue: add retransmission queue element

11 years agosession: add some docs
Wim Taymans [Mon, 12 Aug 2013 12:53:33 +0000 (14:53 +0200)]
session: add some docs

11 years agosession: handle NACK feedback and generate events
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