platform/upstream/gstreamer.git
11 years agomatroskademux: Unlock stream lock after use
Jonas Holmberg [Tue, 9 Jul 2013 09:17:59 +0000 (11:17 +0200)]
matroskademux: Unlock stream lock after use

Stream lock of sink pad was not unlocked after non-updating seek.

11 years agomultipartmux: Re-set need_segment flag after FLUSH_STOP
Ognyan Tonchev [Thu, 27 Jun 2013 11:26:31 +0000 (13:26 +0200)]
multipartmux: Re-set need_segment flag after FLUSH_STOP

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

11 years agov4l2: bufferpool: don't forget to release buffer on error
Michael Olbrich [Fri, 5 Jul 2013 09:51:04 +0000 (11:51 +0200)]
v4l2: bufferpool: don't forget to release buffer on error

If the pool is stopped while gst_v4l2_buffer_pool_dqbuf() waits for a
buffer then the return value is GST_FLOW_FLUSHING. In this case the buffer
to queue must also be released. Otherwise is will never be deleted or
returned to its pool.

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

11 years agortp: Fail payloading unit test if an error message is received
Sebastian Dröge [Mon, 8 Jul 2013 12:15:10 +0000 (14:15 +0200)]
rtp: Fail payloading unit test if an error message is received

11 years agortph263ppay: Don't pass upstream filter caps to downstream
Sebastian Dröge [Mon, 8 Jul 2013 12:09:37 +0000 (14:09 +0200)]
rtph263ppay: Don't pass upstream filter caps to downstream

Downstream usually can't accept video/x-h263 but only application/x-rtp,
so we would always get an empty intersection here.

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

11 years agopo: update POTFILES.in
Piotr Drąg [Fri, 5 Jul 2013 20:00:37 +0000 (22:00 +0200)]
po: update POTFILES.in

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

11 years agortspsrc: avoid some strdup
Wim Taymans [Tue, 2 Jul 2013 09:13:25 +0000 (11:13 +0200)]
rtspsrc: avoid some strdup

11 years agortspsrc: add select-stream signal
Wim Taymans [Tue, 2 Jul 2013 08:37:50 +0000 (10:37 +0200)]
rtspsrc: add select-stream signal

Add a signal to let the app select what streams will be selected.

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

11 years agortspsrc: avoid strdup
Wim Taymans [Tue, 2 Jul 2013 08:37:35 +0000 (10:37 +0200)]
rtspsrc: avoid strdup

11 years agortp: Fix documentation and comments to use rtpbin instead of old gstrtpbin
J. Rick Ramstetter [Tue, 2 Jul 2013 08:12:17 +0000 (10:12 +0200)]
rtp: Fix documentation and comments to use rtpbin instead of old gstrtpbin

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

11 years agov4l2: don't extract data from caps twice
Michael Olbrich [Mon, 1 Jul 2013 14:55:01 +0000 (16:55 +0200)]
v4l2: don't extract data from caps twice

gst_video_info_from_caps() always extract width, height, interlace mode and
framerate now. It is no longer necessary to do it again for encoded
formats.

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

11 years agosouphttpsrc: also consider stop positions in seeks
Andoni Morales Alastruey [Thu, 20 Jun 2013 12:41:48 +0000 (09:41 -0300)]
souphttpsrc: also consider stop positions in seeks

Use seek stop position as range end for requests

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

11 years agosouphttpsrc: allow seeks in ready
Thiago Santos [Wed, 19 Jun 2013 17:06:40 +0000 (14:06 -0300)]
souphttpsrc: allow seeks in ready

On is_seekable, check if the server's headers have already been
received. If not, do a HEAD request to get them before responding
to basesrc.

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

11 years agortspsrc: add signal to notify of the SDP
Wim Taymans [Mon, 1 Jul 2013 15:28:55 +0000 (17:28 +0200)]
rtspsrc: add signal to notify of the SDP

This way, the app can look and modify the SDP.

11 years agogdkpixbufoverlay: Allow negative offsets to specify offset from bottom/right
Kishore Arepalli [Fri, 21 Jun 2013 16:10:28 +0000 (18:10 +0200)]
gdkpixbufoverlay: Allow negative offsets to specify offset from bottom/right

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

11 years agoqtdemux: compute framerate from average sample duration
Matej Knopp [Sun, 30 Jun 2013 19:01:20 +0000 (21:01 +0200)]
qtdemux: compute framerate from average sample duration

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

11 years agoflvdemux: Add flvversion 1 to the flash-video caps
Alban Browaeys [Tue, 25 Jun 2013 19:16:38 +0000 (21:16 +0200)]
flvdemux: Add flvversion 1 to the flash-video caps

This allows using avdec_flv which requires this field to be
present in the caps. FLV only supports flash-video version 1
right now.

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

11 years agodeinterleave: Don't hold object lock while sending events downstream
Sebastian Dröge [Mon, 1 Jul 2013 09:37:00 +0000 (11:37 +0200)]
deinterleave: Don't hold object lock while sending events downstream

Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>

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

11 years agomatroskademux: Add MPEG4 video profile/level to the caps
Sebastian Dröge [Mon, 1 Jul 2013 08:59:07 +0000 (10:59 +0200)]
matroskademux: Add MPEG4 video profile/level to the caps

11 years agomatroskademux: Add AAC profile/level to the caps
Sebastian Dröge [Mon, 1 Jul 2013 08:56:28 +0000 (10:56 +0200)]
matroskademux: Add AAC profile/level to the caps

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

11 years agovorbispay: add support for config-interval
Wim Taymans [Fri, 28 Jun 2013 13:21:56 +0000 (15:21 +0200)]
vorbispay: add support for config-interval

Align code with the theora payloader and add support for the config-interval to
periodically send out the config headers.

11 years agotheorapay: small cleanups
Wim Taymans [Fri, 28 Jun 2013 13:21:12 +0000 (15:21 +0200)]
theorapay: small cleanups

11 years agotheorapay: handle streamheaders as well
Wim Taymans [Fri, 28 Jun 2013 10:08:19 +0000 (12:08 +0200)]
theorapay: handle streamheaders as well

11 years agovorbispay: always collect headers on data
Wim Taymans [Fri, 28 Jun 2013 10:06:21 +0000 (12:06 +0200)]
vorbispay: always collect headers on data

When we see a data packet, always check if we need to collect any previous
headers.

11 years agovorbispay: handle streamheader as well
Wim Taymans [Fri, 28 Jun 2013 09:43:17 +0000 (11:43 +0200)]
vorbispay: handle streamheader as well

Take config strings from the streamheader when we can

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

11 years agortph264pay: avoid double buffer unmap on error
David Svensson Fors [Thu, 27 Jun 2013 05:40:29 +0000 (07:40 +0200)]
rtph264pay: avoid double buffer unmap on error

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

11 years agortspsrc: reset-sync before play
Wim Taymans [Thu, 27 Jun 2013 15:02:14 +0000 (17:02 +0200)]
rtspsrc: reset-sync before play

Call reset-sync on the rtpbin before we go to playing. This makes us require SR
packets for all streams again before we attempt to sync them. If we don't reset,
it might be that we combine SR packets from before and after the PAUSE/PLAYING
state change and end up with huge bogus offsets.

11 years agojitterbuffer: improve sync on first packets
Wim Taymans [Thu, 27 Jun 2013 14:23:20 +0000 (16:23 +0200)]
jitterbuffer: improve sync on first packets

Don't throw away the first RTCP packet if it arrives before the first
RTP packet but remember and use it to signal sync once we get the
RTP packet.

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

11 years agojitterbuffer: only signal loop when active
Wim Taymans [Thu, 27 Jun 2013 14:15:45 +0000 (16:15 +0200)]
jitterbuffer: only signal loop when active

Only signal the loop function when it is active.

11 years agojitterbuffer: signal timestamp discont
Wim Taymans [Thu, 27 Jun 2013 14:13:37 +0000 (16:13 +0200)]
jitterbuffer: signal timestamp discont

We can now use the RESYNC buffer flag to mark a timestamp discont when we update
the ts-offset property.

11 years agojpegpay: turn some errors into warnings
Wim Taymans [Wed, 26 Jun 2013 18:49:41 +0000 (20:49 +0200)]
jpegpay: turn some errors into warnings

Turn some errors into warnings, we can continue processing so this should
not be fatal.

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

11 years agortspsrc: avoid some flushes
Wim Taymans [Wed, 26 Jun 2013 12:58:53 +0000 (14:58 +0200)]
rtspsrc: avoid some flushes

11 years agortspsrc: handle data message when waiting for reply
Wim Taymans [Wed, 26 Jun 2013 12:41:00 +0000 (14:41 +0200)]
rtspsrc: handle data message when waiting for reply

When we are waiting for a server reply, handle data messages instead of
ignoring them.

11 years agortspsrc: handle data messages in separate method
Wim Taymans [Wed, 26 Jun 2013 12:27:34 +0000 (14:27 +0200)]
rtspsrc: handle data messages in separate method

Refactor and make a method to handle a data message.

11 years agortspsrc: add some more docs to handle-request signal
Wim Taymans [Tue, 25 Jun 2013 18:36:18 +0000 (20:36 +0200)]
rtspsrc: add some more docs to handle-request signal

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

11 years agoSend a clock_provide message on the bus when we get a netclock
Youness Alaoui [Mon, 10 Jun 2013 21:20:30 +0000 (17:20 -0400)]
Send a clock_provide message on the bus when we get a netclock

11 years agortspsrc: Expose use-pipeline-clock property
Youness Alaoui [Mon, 10 Jun 2013 21:20:14 +0000 (17:20 -0400)]
rtspsrc: Expose use-pipeline-clock property

11 years agoudpsink: bind to the given interface
Wim Taymans [Mon, 24 Jun 2013 15:11:35 +0000 (17:11 +0200)]
udpsink: bind to the given interface

Actually call BINDTODEVICE to bind to the interface as given by the
property.

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

11 years agovp8dec: Error out gracefully if we get an unsupported color format
Sebastian Dröge [Sat, 22 Jun 2013 08:59:17 +0000 (10:59 +0200)]
vp8dec: Error out gracefully if we get an unsupported color format

In theory we can only get I420 though, just to be on the safe side.

11 years agovp9: Add support for YV12, Y42B and Y444 color formats
Sebastian Dröge [Sat, 22 Jun 2013 08:57:41 +0000 (10:57 +0200)]
vp9: Add support for YV12, Y42B and Y444 color formats

The encoder does not work with Y42B and Y444 yet it seems.

11 years agovp9dec: Update default postproc settings from vp9_dx_iface.c
Sebastian Dröge [Sat, 22 Jun 2013 08:26:18 +0000 (10:26 +0200)]
vp9dec: Update default postproc settings from vp9_dx_iface.c

11 years agomatroska: Add initial VP9 support
Sebastian Dröge [Fri, 21 Jun 2013 11:11:32 +0000 (13:11 +0200)]
matroska: Add initial VP9 support

11 years agovpx: Add initial, experimental VP9 support
Sebastian Dröge [Fri, 21 Jun 2013 11:07:30 +0000 (13:07 +0200)]
vpx: Add initial, experimental VP9 support

11 years agortsp: go back into the loop after doing pause
Youness Alaoui [Fri, 21 Jun 2013 08:32:30 +0000 (10:32 +0200)]
rtsp: go back into the loop after doing pause

After we do a pause request, go back to loop mode so that we can listen
for server messages again.

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

11 years agortpptdemux: Wait after the caps to forward the other events
Olivier Crête [Fri, 21 Jun 2013 03:16:17 +0000 (23:16 -0400)]
rtpptdemux: Wait after the caps to forward the other events

First forward the stream-start, then the caps, then the rest

11 years agoximagesrc: clear dts on buffer acquired from pool
Tim-Philipp Müller [Thu, 20 Jun 2013 23:42:02 +0000 (00:42 +0100)]
ximagesrc: clear dts on buffer acquired from pool

When setting timestamps on outgoing buffers, clear the
dts explicitly, otherwise it may end up being set to a
bogus value from last time it was used. Avoids every
second or so buffer's dts being set to 0. Not that it
should matter for raw video.

11 years agov4l2: don't redefine the PERFORMANCE debug variable
Wim Taymans [Thu, 20 Jun 2013 13:35:11 +0000 (15:35 +0200)]
v4l2: don't redefine the PERFORMANCE debug variable

It is already defined in core.

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

11 years agortspsrc: fix race in state change to paused
Wim Taymans [Thu, 20 Jun 2013 12:43:47 +0000 (14:43 +0200)]
rtspsrc: fix race in state change to paused

When we go to paused, we first flush the connection and then send the pause
command. As a result of the flushing, the scheduled paused command can get
lost. Wait until the connection is completely flushed and the rtsp task is
waiting before issuing the paused or playing request.

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

11 years agoqtdemux: handle SEGMENT query
Wim Taymans [Thu, 20 Jun 2013 09:31:22 +0000 (11:31 +0200)]
qtdemux: handle SEGMENT query

11 years agov4l2: Optimize negotiation by removing the query filter
Sjoerd Simons [Wed, 19 Jun 2013 10:37:31 +0000 (12:37 +0200)]
v4l2: Optimize negotiation by removing the query filter

As cameras tend to have a quite specific set of capabilities (specific
framerates for each resolution), getting the peer caps filtered by our
probed caps can cause a big increase in the caps size which slows down
things quire a bit.

As for negotiation v4l2 iterates through the caps of the peer to find the
first intersection with the probed caps, getting the fully expanded
intersection of capabilities is not useful.

Using the same testcase as for bug #702632, adding this patch on top of
the patches suggested there speeds up getting the inital frame from
around ~14-15 seconds to around ~3-4 seconds.

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

11 years agoavidemux: duration query returns zero for DV video in avi
Kishore Arepalli [Wed, 19 Jun 2013 08:30:56 +0000 (10:30 +0200)]
avidemux: duration query returns zero for DV video in avi

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

11 years agoqtdemux: Disable usage of allocation queries
Sebastian Dröge [Wed, 19 Jun 2013 09:06:37 +0000 (11:06 +0200)]
qtdemux: Disable usage of allocation queries

This can only reliably work if demuxers have a
separate streaming thread per srcpad. This should be
done in a demuxer base class, which integrates parts
of multiqueue

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

11 years agoAvoid skipping moov atoms for fragmented MP4 files.
Alex Ashley [Tue, 11 Jun 2013 14:02:21 +0000 (15:02 +0100)]
Avoid skipping moov atoms for fragmented MP4 files.

bug #700505

Following a representation change that causes a resolution change,
the video decoder fails to decode correctly. Dashdemux detects the
representation change and pushes a new caps event and an
initialization segment (a new moov atom) to the downstream qtdemux,
but it doesn't handle this new moov yet, it will only parse the
first one it receives.

This commit changes qtdemux to accept a new moov in a dash bitstream
switching scenario.

11 years agoqtdemux: send stream-start only once for each stream
Thiago Santos [Wed, 19 Jun 2013 03:42:54 +0000 (00:42 -0300)]
qtdemux: send stream-start only once for each stream

Do not send stream start again when reconfiguring a pad for new caps.
That is common for adaptive streams

11 years agoosxvideosink: fix support in VM's without hardware acceleration
Andoni Morales Alastruey [Wed, 5 Jun 2013 15:02:49 +0000 (17:02 +0200)]
osxvideosink: fix support in VM's without hardware acceleration

11 years agortpmp2tdepay: accept mislabelled streams from GStreamer 0.10 as well
Jens Georg [Sat, 15 Jun 2013 10:29:31 +0000 (12:29 +0200)]
rtpmp2tdepay: accept mislabelled streams from GStreamer 0.10 as well

The mp2t payloader in 0.10 mislabelled the streams as MP2T-ES
instead of MP2T, so accept that as well for compatibility reasons.

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

11 years agortspsrc: manage element state ourselves
Wim Taymans [Sun, 16 Jun 2013 03:40:13 +0000 (05:40 +0200)]
rtspsrc: manage element state ourselves

Lock the state of the all our elements and manage their states
outselves. Because we are working async, we can't rely on the state
change function to set the state at the right time or to return the
right return value from the state change function.

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

11 years agomatroskademux: Don't unlock stream lock without locking it first
Bruno Gonzalez [Fri, 14 Jun 2013 12:09:50 +0000 (14:09 +0200)]
matroskademux: Don't unlock stream lock without locking it first

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

11 years agortpsession: Use the right hashtable to calculate bandwidth
Wim Taymans [Thu, 13 Jun 2013 14:00:33 +0000 (16:00 +0200)]
rtpsession: Use the right hashtable to calculate bandwidth

Don't use an unused hashtable to iterate source to calculate bandwidth.
Remove unused code.

11 years agopulsesink: Require PulseAudio >= 2.0
Brendan Long [Wed, 12 Jun 2013 22:27:24 +0000 (16:27 -0600)]
pulsesink: Require PulseAudio >= 2.0

This is needed for pa_format_info_get_prop_* functions.

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

11 years agoRevert "pulsesink: Make 2.0 dependency optional"
Arun Raghavan [Thu, 13 Jun 2013 08:53:08 +0000 (14:23 +0530)]
Revert "pulsesink: Make 2.0 dependency optional"

This reverts commit 01457027e0d384aca3e551ae684e0aa074ee5498.

We'll just depend on PulseAudio 2.0 or above instead of having the bug
partially fixed based on the installed libpulse version.

11 years agopulsesink: Make 2.0 dependency optional
Arun Raghavan [Thu, 13 Jun 2013 07:10:15 +0000 (12:40 +0530)]
pulsesink: Make 2.0 dependency optional

The getcaps function we added uses some pa_format_info_get_prop...
accessor functions that were only added in 2.0, so we only have our
getcaps implementation exist if we're compiling against libpulse 2.0 or
above.

Eventually, we could bump the minimum requirement to 2.0 or above.

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

11 years agoRevert "videomixer: When all sinkpads are eos, update output segment stop and forward it"
Sebastian Dröge [Wed, 12 Jun 2013 16:23:46 +0000 (18:23 +0200)]
Revert "videomixer: When all sinkpads are eos, update output segment stop and forward it"

This reverts commit 2d3910fc7901b5f29e16c0fdd4e9067a6d7f66fe.

It's not solving any problem and instead causes code to fall apart.

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

11 years agomatroskademux: mark subtitle streams as sparse in stream-start event
Tim-Philipp Müller [Wed, 9 Jan 2013 09:39:33 +0000 (09:39 +0000)]
matroskademux: mark subtitle streams as sparse in stream-start event

And also mark the streams that should be selected by default if
marked so in the headers.

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

11 years agoaudiopanorama: add prebuilt files
Stefan Sauer [Tue, 11 Jun 2013 20:12:58 +0000 (22:12 +0200)]
audiopanorama: add prebuilt files

11 years agoaudiopanorama: cleanup and expand the tests
Stefan Sauer [Tue, 11 Jun 2013 18:27:51 +0000 (20:27 +0200)]
audiopanorama: cleanup and expand the tests

Split out two more tests. Extract more common code into helpers. Add coverage for float.

11 years agoaudiopanorama: cleanup of transform()
Stefan Sauer [Mon, 10 Jun 2013 19:15:20 +0000 (21:15 +0200)]
audiopanorama: cleanup of transform()

Only map input if we are reading it. Cleanup the logging and the comments a bit.

11 years agoaudiopanorama: use orc to speedup processing
Stefan Sauer [Sun, 9 Jun 2013 18:35:18 +0000 (20:35 +0200)]
audiopanorama: use orc to speedup processing

Use special variants for the case when we don't change the panorama (pan=0.0).
Simplify the processing functions by passing the panorama value directy instead
of the instance. Use orc for clearing buffers too.

11 years agovideomixer: check last end_time after conversion to running segment
Mathieu Duponchelle [Tue, 11 Jun 2013 17:24:49 +0000 (19:24 +0200)]
videomixer: check last end_time after conversion to running segment

The last end_time was saved after conversion, so the comparison
had to be made after conversion for it to make sense.

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

11 years agovideomixer: add mix->segment.start to output_end_time
Mathieu Duponchelle [Tue, 11 Jun 2013 17:22:20 +0000 (19:22 +0200)]
videomixer: add mix->segment.start to output_end_time

When the segment start is not 0, this created a situation where
the output_end_time is inferior to output_start_time, and the duration
of the next buffer ended up underflowing.

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

11 years agomatroskademux: Send stream headers after the segment event
Sebastian Dröge [Tue, 11 Jun 2013 11:54:53 +0000 (13:54 +0200)]
matroskademux: Send stream headers after the segment event

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

11 years agoqtdemux: Do allocation query after exposing all pads and no-more-pads
Sebastian Dröge [Tue, 11 Jun 2013 10:26:24 +0000 (12:26 +0200)]
qtdemux: Do allocation query after exposing all pads and no-more-pads

Also configure video streams as early as possible.

Related https://bugzilla.gnome.org/show_bug.cgi?id=701856
but not fixing that.

11 years agoflvdemux: Don't forward CAPS events from upstream
Sebastian Dröge [Tue, 11 Jun 2013 10:25:46 +0000 (12:25 +0200)]
flvdemux: Don't forward CAPS events from upstream

Just use the default pad event handler.

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

11 years agopulsesink: Cache the getcaps/acceptcaps probe stream
Arun Raghavan [Sun, 26 May 2013 02:48:04 +0000 (08:18 +0530)]
pulsesink: Cache the getcaps/acceptcaps probe stream

getcaps is called frequently during stream setup, and creating a new
stream each time is very inefficient. There's some more room for
optimisation by caching the queried sink formats as well, but this needs
some more changes to listen for format changes on the sink (for when
supported formats change between probe stream creation and sink
querying).

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

11 years agopulsesink: Add a getcaps function
Arun Raghavan [Thu, 23 May 2013 16:09:08 +0000 (21:39 +0530)]
pulsesink: Add a getcaps function

This allows us to have more fine-tuned caps in READY or above. However,
this is _really_ inefficient since we create a new stream and query sink
for every getcaps in READY, which on a simple gst-launch line happens
about 35 times. The next step is to cache getcaps results.

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

11 years agopulsesink: Take a lock on the ringbuffer in acceptcaps
Arun Raghavan [Fri, 10 May 2013 06:02:44 +0000 (11:32 +0530)]
pulsesink: Take a lock on the ringbuffer in acceptcaps

This is needed as a concurrent state change could pull the context or
stream out from under our feet.

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

11 years agoaudiopanorama: move the enum to the header and use instead of gint
Stefan Sauer [Sun, 9 Jun 2013 18:29:09 +0000 (20:29 +0200)]
audiopanorama: move the enum to the header and use instead of gint

Move the enum for the processing method to the header so that we can use the
type for the instance struct.

11 years agolevel: rework the tests to cover other formats too
Stefan Sauer [Sun, 9 Jun 2013 18:32:22 +0000 (20:32 +0200)]
level: rework the tests to cover other formats too

11 years agov4l2: make sure the element is not deleted before the pool
Michael Olbrich [Wed, 5 Jun 2013 14:32:30 +0000 (16:32 +0200)]
v4l2: make sure the element is not deleted before the pool

The pool accesses data from the v4l2object so it must exist at least
as long as the pool. Refcount the element which controls the object
live-time.

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

11 years agopng: Link with libgstbase for GstByteReader and GstAdapter
Sebastian Dröge [Fri, 7 Jun 2013 13:38:25 +0000 (15:38 +0200)]
png: Link with libgstbase for GstByteReader and GstAdapter

11 years agowavenc: Link with libgstbase for GstByteWriter
Sebastian Dröge [Fri, 7 Jun 2013 13:15:15 +0000 (15:15 +0200)]
wavenc: Link with libgstbase for GstByteWriter

11 years agowavparse: Push stream-start event in pull mode before anything else
Sebastian Dröge [Fri, 7 Jun 2013 11:26:35 +0000 (13:26 +0200)]
wavparse: Push stream-start event in pull mode before anything else

11 years agopulsesink: Get rid of acceptcaps side-effects
Arun Raghavan [Fri, 10 May 2013 06:39:19 +0000 (12:09 +0530)]
pulsesink: Get rid of acceptcaps side-effects

The sink info callback should not have side-effects on the GstPulseSink
object since we are sometimes using with a dummy stream in acceptcaps.

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

11 years agoBack to development
Sebastian Dröge [Wed, 5 Jun 2013 16:36:40 +0000 (18:36 +0200)]
Back to development

11 years agoRelease 1.1.1
Sebastian Dröge [Wed, 5 Jun 2013 15:58:51 +0000 (17:58 +0200)]
Release 1.1.1

11 years agoUpdate .po files
Sebastian Dröge [Wed, 5 Jun 2013 14:35:19 +0000 (16:35 +0200)]
Update .po files

11 years agowavenc: Fix taglist ref handling that made the unit test fail
Sebastian Dröge [Wed, 5 Jun 2013 13:50:04 +0000 (15:50 +0200)]
wavenc: Fix taglist ref handling that made the unit test fail

11 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 5 Jun 2013 13:14:54 +0000 (15:14 +0200)]
Automatic update of common submodule

From 098c0d7 to 01a7a46

11 years agov4l2: iterate controls with V4L2_CTRL_FLAG_NEXT_CTRL if possible
Michael Olbrich [Mon, 3 Jun 2013 07:17:43 +0000 (09:17 +0200)]
v4l2: iterate controls with V4L2_CTRL_FLAG_NEXT_CTRL if possible

In v2.6.18 control classes where added to the v4l2 API.
Iterating over CIDs starting with V4L2_CID_BASE will only find controls for
the first control class.
By iterating with V4L2_CTRL_FLAG_NEXT_CTRL all controls are found.

This is necessary to make controls from other control classes available in
the extra-controls property.

If V4L2_CTRL_FLAG_NEXT_CTRL is not defined at compile time or not supported
at runtime then the old mechanism for iterating is used.

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

11 years agoudpsink: avoid leaking the host
Wim Taymans [Wed, 5 Jun 2013 10:12:53 +0000 (12:12 +0200)]
udpsink: avoid leaking the host

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

11 years agov4l2: improve pixel aspect ratio handling
Michael Olbrich [Tue, 4 Jun 2013 06:26:33 +0000 (08:26 +0200)]
v4l2: improve pixel aspect ratio handling

Instead of just assuming a aspect ratio of 1/1 use VIDIOC_CROPCAP to ask
the device.
This also add a pixel-aspect-ratio property to overwrite the value from the
driver and a force-aspect-ratio property to ignore it.

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

11 years agov4l2: Fix compilation with older kernels
Stirling Westrup [Tue, 4 Jun 2013 15:04:11 +0000 (17:04 +0200)]
v4l2: Fix compilation with older kernels

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

11 years agov4l2: call VIDIOC_REQBUFS with count = 0 in pool_finalize
Michael Olbrich [Mon, 3 Jun 2013 15:07:10 +0000 (17:07 +0200)]
v4l2: call VIDIOC_REQBUFS with count = 0 in pool_finalize

Without this the following sequence fails:

- set_caps()
  - object_stop() (does nothing)
  - set_format() -> VIDIOC_S_FMT
- set_config() -> VIDIOC_REQBUFS with count = N
- set_caps()
  - object_stop()
    - pool_finalize()
  - set_format() -> VIDIOC_S_FMT => EBUSY

Usually the pool is started after set_config(), in which case object_stop()
will result in a pool_stop and therefore VIDIOC_REQBUFS with count = 0 but
that is not guaranteed.
Also calling VIDIOC_REQBUFS with count = 0 in pool_finalize() if necessary
fixes this problem.

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

11 years agov4l2: rework sink buffer refcounting
Michael Olbrich [Tue, 28 May 2013 17:14:15 +0000 (19:14 +0200)]
v4l2: rework sink buffer refcounting

This is a followup patch for #700781, which is not quite correct.
The buffer handling is quite complicated here.
The original code intended to the the following:

- gst_v4l2_buffer_pool_process() calls QBUF and adds the buffer to the
  local list.
- The sink calls gst_buffer_unref() which returns the buffer to the pool
  but not the 'free list'.
- Some time later DQBUF returns the buffer and
  gst_v4l2_buffer_pool_release_buffer() puts in on the 'free list'.

If the buffer must be copied then (parent_class)->acquire_buffer() is
called directly to keep the buffer in the pool.

This has two problems:
1. If gst_v4l2_buffer_pool_release_buffer() is called before the buffer is
   returned to the pool, then the buffer is put on the 'free list' twice.
   This can happen if a reference to the buffer is kept outside the sink,
   of if DQBUF returns the buffer, that was just queued with QBUF.
2. If buffers are copied, then all buffers are in the pool at all times. As
   a result gst_v4l2_buffer_pool_stop() and gst_v4l2_buffer_pool_dqbuf()
   can access pool->buffers at the same time, which can lead to memory
   corruption.

The patch for #700781 fixes those problems, but with the side effect that
there are always buffers outside the pool (because they are queued) and
the pool is never stopped.
This patch fixes this by releasing the reference to the buffer after
handling it (to avoid problem 2.) so it can be returned to the pool.
gst_v4l2_buffer_pool_release_buffer() is only called if the buffer is
already in the pool (to avoid problem 1.).

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

11 years agoqtdemux: make sure taglist is writable before adding tags
Thiago Santos [Sun, 2 Jun 2013 18:24:38 +0000 (15:24 -0300)]
qtdemux: make sure taglist is writable before adding tags

Avoids assertions

11 years agoqtdemux: effectively skip tracks that weren't listed on the 1st moov
Thiago Santos [Thu, 30 May 2013 22:24:13 +0000 (19:24 -0300)]
qtdemux: effectively skip tracks that weren't listed on the 1st moov

Without this, stream is NULL and the code will try to access it, leading
to segfaults.

11 years agoqtdemux: skip redundant check
Thiago Santos [Thu, 30 May 2013 22:23:50 +0000 (19:23 -0300)]
qtdemux: skip redundant check

!got_moov is already checked the line above

11 years agotests: cleanup level tests
Stefan Sauer [Sun, 2 Jun 2013 11:03:40 +0000 (13:03 +0200)]
tests: cleanup level tests

Split out a few more tests to avoid checking the same stuff over and over again.

11 years agolevel: remove unused variables in instance struct
Stefan Sauer [Sat, 1 Jun 2013 19:33:46 +0000 (21:33 +0200)]
level: remove unused variables in instance struct

11 years agolevel: add a test for continous timestamps
Stefan Sauer [Fri, 31 May 2013 16:13:02 +0000 (18:13 +0200)]
level: add a test for continous timestamps

A test that checks that msg[n].ts + msg[n].dur == msg[n+1].ts.