platform/upstream/gstreamer.git
9 years agointer: Use 64-bit safe scaling functions
Sebastian Dröge [Mon, 27 Oct 2014 14:34:58 +0000 (15:34 +0100)]
inter: Use 64-bit safe scaling functions

9 years agodvbsrc: reflow switch case statement a bit
Tim-Philipp Müller [Mon, 27 Oct 2014 12:43:53 +0000 (12:43 +0000)]
dvbsrc: reflow switch case statement a bit

Make it clear there's no 'break' missing at the end
of the case SYS_DVBT, and pacify coverity (CID 1249689).

9 years agocurlsshsink: use the locally defined types
L. Sorin [Thu, 12 Jun 2014 14:59:46 +0000 (16:59 +0200)]
curlsshsink: use the locally defined types

Just a matter of coding style, makes the code a bit tidier...

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

9 years agoParallelise 'make check-valgrind'
Tim-Philipp Müller [Sun, 26 Oct 2014 15:45:20 +0000 (15:45 +0000)]
Parallelise 'make check-valgrind'

9 years agoconfigure: check for more openh264 API that we need
Tim-Philipp Müller [Sun, 26 Oct 2014 15:44:05 +0000 (15:44 +0000)]
configure: check for more openh264 API that we need

9 years agotests: fix audiomixer test on big endian systems
Tim-Philipp Müller [Sat, 25 Oct 2014 17:50:42 +0000 (18:50 +0100)]
tests: fix audiomixer test on big endian systems

9 years agodvbsrc: correctly capitalize DiSEqC
Reynaldo H. Verdejo Pinochet [Sat, 25 Oct 2014 00:42:58 +0000 (21:42 -0300)]
dvbsrc: correctly capitalize DiSEqC

9 years agodvbsrc: rework _output_frontend_stats()
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 23:12:23 +0000 (20:12 -0300)]
dvbsrc: rework _output_frontend_stats()

Retry stat reporting ioctls on EINTR

9 years agodvbsrc: add checks on allowed DVB-T bandwidths
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 22:30:25 +0000 (19:30 -0300)]
dvbsrc: add checks on allowed DVB-T bandwidths

9 years agodvbsrc: add fixme note on DTV_LNA setting
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 22:12:33 +0000 (19:12 -0300)]
dvbsrc: add fixme note on DTV_LNA setting

Rephrase another comment while at it

9 years agodvbsrc: add missing logic for additional bandwidths
Reynaldo H. Verdejo Pinochet [Fri, 24 Oct 2014 21:57:40 +0000 (18:57 -0300)]
dvbsrc: add missing logic for additional bandwidths

New 1.712, 5 and 10 MHz bandwidths were been ignored
at set/get prop.

9 years agoconfigure.ac: Use libsrtp.pc if present
Edward Hervey [Fri, 24 Oct 2014 13:53:59 +0000 (15:53 +0200)]
configure.ac: Use libsrtp.pc if present

9 years agorawparse: fix handling of segment event in sink event handler
Vootele Vesterblom [Thu, 23 Oct 2014 14:42:27 +0000 (17:42 +0300)]
rawparse: fix handling of segment event in sink event handler

9 years agoglmixer: override the caps query in order to 'convert' capsfeatures
Matthew Waters [Thu, 23 Oct 2014 13:35:22 +0000 (00:35 +1100)]
glmixer: override the caps query in order to 'convert' capsfeatures

Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features.  We can convert from any feature
to another feature so support that.

9 years agoglmixer: override the accept caps query in order to 'convert' capsfeatures
Matthew Waters [Thu, 23 Oct 2014 12:55:48 +0000 (23:55 +1100)]
glmixer: override the accept caps query in order to 'convert' capsfeatures

Otherwise, it is only possible for the sink pads and the src pads to
have the exact same caps features.  We can convert from any feature
to another feature so support that.

9 years agogl: propogate other-context using GstContext
Matthew Waters [Thu, 14 Aug 2014 13:29:00 +0000 (23:29 +1000)]
gl: propogate other-context using GstContext

9 years agodash: Remove obsolete README.
Brendan Long [Mon, 20 Oct 2014 09:07:08 +0000 (03:07 -0600)]
dash: Remove obsolete README.

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

9 years agointeraudio: Add support for arbitrary raw audio formats
Sebastian Dröge [Wed, 22 Oct 2014 17:34:17 +0000 (19:34 +0200)]
interaudio: Add support for arbitrary raw audio formats

9 years agointervideo: Add support for arbitrary video formats
Sebastian Dröge [Wed, 22 Oct 2014 17:31:31 +0000 (19:31 +0200)]
intervideo: Add support for arbitrary video formats

9 years agointer: Truncate the caps as part of the fixating
Sebastian Dröge [Wed, 22 Oct 2014 17:28:48 +0000 (19:28 +0200)]
inter: Truncate the caps as part of the fixating

9 years agointeraudio: Fix timestamp, latency and period handling
Sebastian Dröge [Wed, 22 Oct 2014 17:08:39 +0000 (19:08 +0200)]
interaudio: Fix timestamp, latency and period handling

9 years agointeraudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG()
Sebastian Dröge [Wed, 22 Oct 2014 16:41:55 +0000 (18:41 +0200)]
interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG()

9 years agointeraudio: Properly pass through caps from the sink to the source
Sebastian Dröge [Wed, 22 Oct 2014 16:40:01 +0000 (18:40 +0200)]
interaudio: Properly pass through caps from the sink to the source

Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.

9 years agointer: Clean up surfaces after the last user is gone
Sebastian Dröge [Wed, 22 Oct 2014 16:13:36 +0000 (18:13 +0200)]
inter: Clean up surfaces after the last user is gone

9 years agointer: Whitespace cleanup
Sebastian Dröge [Wed, 22 Oct 2014 16:07:00 +0000 (18:07 +0200)]
inter: Whitespace cleanup

9 years agointervideo: Properly pass through caps from the sink to the source
Sebastian Dröge [Wed, 22 Oct 2014 16:03:13 +0000 (18:03 +0200)]
intervideo: Properly pass through caps from the sink to the source

Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.

This would've failed before with invalid buffer sizes:
gst-launch-1.0 videotestsrc ! intervideosink  intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink

9 years agorawparse: Check for 0-size after adjusting the size for the frame size
Sebastian Dröge [Wed, 22 Oct 2014 13:07:04 +0000 (15:07 +0200)]
rawparse: Check for 0-size after adjusting the size for the frame size

If we don't have a complete raw audio frame we would otherwise still
ask for a 0 sized buffer from the adapter.

9 years agorawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode
Sebastian Dröge [Wed, 22 Oct 2014 12:43:50 +0000 (14:43 +0200)]
rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode

9 years agoconfigure: improve openh264 check
Tim-Philipp Müller [Wed, 22 Oct 2014 12:03:30 +0000 (13:03 +0100)]
configure: improve openh264 check

The openh264 API is still unstable, so check for
structure member that we need to prevent building
against an older incompatible version.

9 years agoconfigure: simplify openh264 check
Tim-Philipp Müller [Wed, 22 Oct 2014 11:36:36 +0000 (12:36 +0100)]
configure: simplify openh264 check

Of course PTHREADS_CFLAGS is not used anywhere now
for the check, but that was the case before as well.

9 years agogl/cocoa: Fix compiler warning
Sebastian Dröge [Tue, 21 Oct 2014 14:21:08 +0000 (16:21 +0200)]
gl/cocoa: Fix compiler warning

gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)

9 years agovtenc: Fix locking
Sebastian Dröge [Tue, 21 Oct 2014 13:42:32 +0000 (15:42 +0200)]
vtenc: Fix locking

The object lock only protects the session, as we modify
the session from other threads when the bitrate property
is changed. Don't hold it much longer than for session
related things.

And we need to release the video decoder stream lock before
enqueueing a frames. It might wait for our callback to dequeue
a frame from another thread, which will then take the stream
lock too and deadlock.

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:45 +0000 (13:01 +0100)]
Automatic update of common submodule

From a8c8939 to 84d06cd

9 years agoconfigure: use a macro to check for pthread
Stefan Sauer [Tue, 21 Oct 2014 11:28:50 +0000 (13:28 +0200)]
configure: use a macro to check for pthread

Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
file.

9 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 21 Oct 2014 10:58:39 +0000 (12:58 +0200)]
Automatic update of common submodule

From 36388a1 to a8c8939

9 years agohlsdemux: reset end_of_playlist attribute when we receive a seek
Matthieu Bouron [Tue, 21 Oct 2014 10:39:14 +0000 (12:39 +0200)]
hlsdemux: reset end_of_playlist attribute when we receive a seek

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

9 years agoaudiomixer: critical error for blocksize, timeout min/max values
Vineeth T M [Mon, 20 Oct 2014 12:55:08 +0000 (18:25 +0530)]
audiomixer: critical error for blocksize, timeout min/max values

Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
timeout value of aggregator is defined with MAX of MAXINT64,
but it cannot cross G_MAXLONG * GST_SECOND - 1
Hence changed the max value of the same

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

9 years agoglmixer: fixup eglimage include path
Matthew Waters [Mon, 20 Oct 2014 19:04:10 +0000 (06:04 +1100)]
glmixer: fixup eglimage include path

9 years agovideoaggregator: fixate the parts of the caps we don't know how to deal with
Matthew Waters [Mon, 20 Oct 2014 15:52:05 +0000 (02:52 +1100)]
videoaggregator: fixate the parts of the caps we don't know how to deal with

fixes glvideomixer with video/x-raw,width=foo i.e. no format field.

9 years agoglbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
Matthew Waters [Sat, 18 Oct 2014 08:03:43 +0000 (10:03 +0200)]
glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option

9 years agovideoaggregator: operate on caps rather than video info
Matthew Waters [Sun, 19 Oct 2014 23:34:27 +0000 (10:34 +1100)]
videoaggregator: operate on caps rather than video info

Otherwise the CapsFeatures will be lost along with the possibility
of multiple output types and formats.

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

9 years agovc1parse: introduce a helper to make sequence-layer
Aurélien Zanelli [Fri, 19 Sep 2014 09:37:56 +0000 (11:37 +0200)]
vc1parse: introduce a helper to make sequence-layer

It will be useful to implement stream-format conversion.

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

9 years agogl: Check for GLU before trying to use it in configure.ac
Brendan Long [Mon, 20 Oct 2014 08:27:15 +0000 (02:27 -0600)]
gl: Check for GLU before trying to use it in configure.ac

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

9 years agoglcolorconvert: support RGB16/BGR16 video format upload
Wang Xin-yu (王昕宇) [Mon, 20 Oct 2014 07:02:28 +0000 (15:02 +0800)]
glcolorconvert: support RGB16/BGR16 video format upload

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

9 years agovc1parser: fix expected level in sequence-layer parsing unit test
Aurélien Zanelli [Thu, 9 Oct 2014 13:12:01 +0000 (15:12 +0200)]
vc1parser: fix expected level in sequence-layer parsing unit test

Sequence-layer used for unit test have a level set to 2 which should
match the medium level, not the high.

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

9 years agovc1parser: fix level values for simple/main profile
Aurélien Zanelli [Thu, 9 Oct 2014 13:05:55 +0000 (15:05 +0200)]
vc1parser: fix level values for simple/main profile

In simple profile, level set to 0 or 2 indicate low and medium level
respectively. In main profile, level set to 0, 2 or 4 indicate low,
medium and high level respectively.

Level values are defined in Annex J.1.2 of the SMPTE 421M.

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

9 years agotsdemux: send initial GAP event on sparse streams for faster startup with playbin
Tim-Philipp Müller [Sat, 2 Aug 2014 10:29:37 +0000 (11:29 +0100)]
tsdemux: send initial GAP event on sparse streams for faster startup with playbin

Signal sparse streams properly in stream-start event and force sending
of pending sticky events which have been stored on the pad already and
which otherwise would only be sent on the first buffer or serialized
event (which means very late in case of subtitle streams). Playsink in
playbin waits for stream-start or another serialized event, and if we
don't do this it will wait for the multiqueue to run full before
starting playback, which might take a couple of seconds.

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

9 years agotsdemux: GAP detection
Edward Hervey [Mon, 20 Oct 2014 10:30:50 +0000 (12:30 +0200)]
tsdemux: GAP detection

All pads of a stream are now added at the beginning. In order to cope with
streams that don't get any data (forever or for a long time) we detect gaps
and push out GAP events when needed.

Cleanups and commenting by Jan Schmidt <jan@centricular.com>

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

9 years agovc1parse: select caps according to wmv format at negotiation
Aurélien Zanelli [Wed, 1 Oct 2014 14:17:46 +0000 (16:17 +0200)]
vc1parse: select caps according to wmv format at negotiation

Some VC1 decoder can have different caps according to wmv format, ie
WMV3 or WVC1.
So instead of keeping the first available caps, we interserct with
current WMV format.

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

9 years agoconfigure: add pthread to the configure check for openh264
Stefan Sauer [Mon, 20 Oct 2014 09:22:54 +0000 (11:22 +0200)]
configure: add pthread to the configure check for openh264

9 years agortmpsink: Declare sink variable that was forgotten in last commit
Sebastian Dröge [Mon, 20 Oct 2014 07:47:27 +0000 (09:47 +0200)]
rtmpsink: Declare sink variable that was forgotten in last commit

9 years agortmpsink: Free URI string in finalize()
Havard Graff [Sun, 19 Oct 2014 18:35:41 +0000 (20:35 +0200)]
rtmpsink: Free URI string in finalize()

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

9 years agogl/cocoa: Fix for building on Mac OS X 10.10
Brion Vibber [Sat, 18 Oct 2014 04:26:52 +0000 (21:26 -0700)]
gl/cocoa: Fix for building on Mac OS X 10.10

Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.

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

9 years agovtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS
Sebastian Dröge [Sun, 19 Oct 2014 12:57:43 +0000 (14:57 +0200)]
vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS

It is not required on OSX apparently and was only added in 10.9.6 there.
Calculating the correct level from the configuration is not trivial, so let's
just not set a level at all here.

9 years agovtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
Sebastian Dröge [Sun, 19 Oct 2014 12:51:40 +0000 (14:51 +0200)]
vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6

Check with configure for it instead of using one of the availability macros
as those wouldn't work as expected with minor versions.

9 years agovtenc: Remove unused #define
Sebastian Dröge [Sun, 19 Oct 2014 12:32:31 +0000 (14:32 +0200)]
vtenc: Remove unused #define

9 years agortpbad: Fix make dist by removing non-existing file from EXTRA_DIST
Sebastian Dröge [Sun, 19 Oct 2014 11:44:38 +0000 (13:44 +0200)]
rtpbad: Fix make dist by removing non-existing file from EXTRA_DIST

It's used by the rtp plugin in gst-plugins-good for VP8 but not needed
or used here.

9 years agortpbad: include plugins base cflags (fix build on jenkins)
Thijs Vermeir [Fri, 17 Oct 2014 14:51:27 +0000 (16:51 +0200)]
rtpbad: include plugins base cflags (fix build on jenkins)

9 years agortp: add h265 RTP payloader + depayloader
Thijs Vermeir [Thu, 16 Oct 2014 08:34:01 +0000 (10:34 +0200)]
rtp: add h265 RTP payloader + depayloader

9 years agocurlbasesink: strip newlines from curl debug messages
Stefan Sauer [Wed, 15 Oct 2014 13:25:55 +0000 (15:25 +0200)]
curlbasesink: strip newlines from curl debug messages

The messages we receive in the custom log handler might end with a newline and
are not \0 terminated. Copy the messages, trim and terminate them.

9 years agocurlbasesink: small code cleanup
Stefan Sauer [Wed, 15 Oct 2014 13:24:12 +0000 (15:24 +0200)]
curlbasesink: small code cleanup

Use a local var and save a local var.

9 years agotests/x265enc: add simple unit test
Thijs Vermeir [Wed, 15 Oct 2014 14:52:09 +0000 (16:52 +0200)]
tests/x265enc: add simple unit test

9 years agox265enc: add x265 encoder element
Thijs Vermeir [Wed, 5 Mar 2014 15:39:30 +0000 (16:39 +0100)]
x265enc: add x265 encoder element

9 years agogldeinterlace: ref the uploaded buffer
Matthew Waters [Tue, 14 Oct 2014 12:00:11 +0000 (14:00 +0200)]
gldeinterlace: ref the uploaded buffer

Instead of the possibly non-GL input buffer.

9 years agoglfilter: add uploaded_buffer field
Matthew Waters [Tue, 14 Oct 2014 14:41:51 +0000 (16:41 +0200)]
glfilter: add uploaded_buffer field

9 years agovc1parse: parse frame header when stream format is ASF/raw for simple/main profile
Aurélien Zanelli [Mon, 22 Sep 2014 07:44:14 +0000 (09:44 +0200)]
vc1parse: parse frame header when stream format is ASF/raw for simple/main profile

When stream-format is ASF or sequence-layer-raw-frame, we basically have
a raw frame so we can parse it to extract some information such the
keyframe flag. The only requirement is to have a valid sequence-header.

This commit parse the frame header and set the DELTA_UNIT buffer flag in
case the frame is not a keyframe.

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

9 years agolibde265: Change rank to SECONDARY, gst-libav has PRIMARY rank
Sebastian Dröge [Tue, 14 Oct 2014 08:51:22 +0000 (10:51 +0200)]
libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank

9 years agoIntegrate libde265 into gst-plugins-bad.
Joachim Bauch [Wed, 17 Sep 2014 08:38:44 +0000 (10:38 +0200)]
Integrate libde265 into gst-plugins-bad.

9 years agovc1parse: just assume none header-format when no codec_data is present
Aurélien Zanelli [Mon, 13 Oct 2014 12:05:24 +0000 (14:05 +0200)]
vc1parse: just assume none header-format when no codec_data is present

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

9 years agovtdec: Set reorder length to 0 if we can't calculate it
Sebastian Dröge [Tue, 14 Oct 2014 07:19:59 +0000 (09:19 +0200)]
vtdec: Set reorder length to 0 if we can't calculate it

Instead of leaving it at whatever value it had before.

9 years agoglimagesink: Only finalize the other context in finalize()
Sebastian Dröge [Mon, 13 Oct 2014 11:28:57 +0000 (13:28 +0200)]
glimagesink: Only finalize the other context in finalize()

Otherwise we change a value of a property when going to READY state,
which is unexpected behaviour.

9 years agoglmixer: Call the pad's parent class finalize method
Sebastian Dröge [Mon, 13 Oct 2014 11:27:55 +0000 (13:27 +0200)]
glmixer: Call the pad's parent class finalize method

9 years agoglmixer: Only finalize the other context in finalize()
Sebastian Dröge [Mon, 13 Oct 2014 11:27:11 +0000 (13:27 +0200)]
glmixer: Only finalize the other context in finalize()

Otherwise we change a value of a property when going to READY state,
which is unexpected behaviour.

9 years agogltestsrc: Add other-context property
Sebastian Dröge [Mon, 13 Oct 2014 11:25:42 +0000 (13:25 +0200)]
gltestsrc: Add other-context property

9 years agoglimagesink: Don't leak other-context
Sebastian Dröge [Mon, 13 Oct 2014 09:56:03 +0000 (11:56 +0200)]
glimagesink: Don't leak other-context

9 years agoglmixer: Add other-context property
Sebastian Dröge [Mon, 13 Oct 2014 09:53:47 +0000 (11:53 +0200)]
glmixer: Add other-context property

9 years agodvb: make interleaving a prop and proxy on dvbbasebin
Reynaldo H. Verdejo Pinochet [Mon, 13 Oct 2014 00:25:16 +0000 (21:25 -0300)]
dvb: make interleaving a prop and proxy on dvbbasebin

DTV_INTERLEAVING is currently used only for DTBM. This is
congruent with the v4l dvb API where the different interleaving
modes where added for v5.7

9 years agodvbsrc: add transmission mode checks for DVB-T/T2
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 21:30:38 +0000 (18:30 -0300)]
dvbsrc: add transmission mode checks for DVB-T/T2

These and every sanity check leading to a warning
(we have a few in place) should come handy when
debuging failed tunning scenarios.

9 years agodvbsrc: docs, drop v5 API change history comments < .5
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 16:34:09 +0000 (13:34 -0300)]
dvbsrc: docs, drop v5 API change history comments < .5

We only support from minor 5 and up now. Also add a
note about the recently added preliminar DTMB support.

9 years agodvbsrc: add missing DVB-T2 bandwidth types
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 16:08:13 +0000 (13:08 -0300)]
dvbsrc: add missing DVB-T2 bandwidth types

DVB-T2 supports 5, 10 and 1.712 MHz

Order of the enum values (new values after _AUTO)
has been kept congruent with the one in the v4l
API for consistency

9 years agowaylandsink: do not render twice the same buffer
Benjamin Gaignard [Tue, 7 Oct 2014 08:37:33 +0000 (10:37 +0200)]
waylandsink: do not render twice the same buffer

Do not try to render a buffer that is already being rendered.
This happens typically during the initial rendering stage as the first
buffer is rendered twice: first by preroll(), then by render().
This commit avoids this assertion failure:
  CRITICAL: gst_wayland_compositor_acquire_buffer: assertion
  'meta->used_by_compositor == FALSE' failed

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

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
9 years agowaylandsink : Allow surface to catch input events
Tifaine Inguere [Thu, 24 Jul 2014 14:53:53 +0000 (16:53 +0200)]
waylandsink : Allow surface to catch input events

If waylandsink is the owner of the display then it is in charge
of catching input events on the surface.

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

Signed-off-by: Tifaine Inguere <tifaine.inguere@st.com>
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
9 years agowaylandsink: take into account the case where a pool may be destroyed together with...
George Kiagiadakis [Wed, 2 Jul 2014 10:29:55 +0000 (13:29 +0300)]
waylandsink: take into account the case where a pool may be destroyed together with GstWlDisplay

There are two cases covered here:
1) The GstWlDisplay forces the release of the last buffer and the pool
   gets destroyed in this context, which means it unregisters all the
   other buffers from the GstWlDisplay as well and the display->buffers
   hash table gets corrupted because it is iterating.
2) The pool and its buffers get destroyed concurrently from another
   thread while GstWlDisplay is finalizing and many things get corrupted.

9 years agowaylandsink: stack the video subsurface into another subsurface that covers the whole...
George Kiagiadakis [Tue, 1 Jul 2014 08:43:20 +0000 (11:43 +0300)]
waylandsink: stack the video subsurface into another subsurface that covers the whole render rectangle

The main reason behind this is that when the video caps change and the video
subsurface needs to resize and change position, the wl_subsurface.set_position
call needs a commit in its parent in order to take effect. Previously,
the parent was the application's surface, over which there is no control.
Now, the parent is inside the sink, so we can commit it and change size smoothly.

As a side effect, this also allows the sink to draw its black borders on
its own, without the need for the application to do that. And another side
effect is that this can now allow resizing the sink when it is in top-level
mode and have it respect the aspect ratio.

9 years agowaylandsink: rename video format conversion functions to indicate they are about...
George Kiagiadakis [Fri, 20 Jun 2014 13:24:36 +0000 (16:24 +0300)]
waylandsink: rename video format conversion functions to indicate they are about wl_shm

Needed to add linux_dmabuf format conversion functions later

9 years agowaylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not...
George Kiagiadakis [Mon, 23 Jun 2014 14:27:01 +0000 (17:27 +0300)]
waylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not needed anymore

Because we no longer have a custom buffer pool that holds a reference
to the display, there is no way for a cyclic reference to happen like
before, so we no longer need to explicitly call a function from the
display to release the wl_buffers.

However, the general mechanism of registering buffers to the display
and forcibly releasing them when the display is destroyed is still
needed to avoid potential memory leaks. The comment in wlbuffer.c
is updated to reflect the current situation.

9 years agowaylandsink: replace the custom buffer pool with an allocator
George Kiagiadakis [Mon, 23 Jun 2014 13:40:02 +0000 (16:40 +0300)]
waylandsink: replace the custom buffer pool with an allocator

This reduces the complexity of having a custom buffer pool, as
we don't really need it. We only need the custom allocation part.
And since the wl_buffer is no longer saved in a GstMeta, we can
create it and add it on the buffers in the sink's render()
function, which removes the reference cycle caused by the pool
holding a reference to the display and also allows more generic
scenarios (the allocator being used in another pool, or buffers
being allocated without a pool [if anything stupid does that]).

This commit also simplifies the propose_allocation() function,
which doesn't really need to do all these complicated checks,
since there is always a correct buffer pool available, created
in set_caps().

The other side effect of this commit is that a new wl_shm_pool
is now created for every GstMemory, which means that we use
as much shm memory as we actually need and no more. Previously,
the created wl_shm_pool would allocate space for 15 buffers, no
matter if they were being used or not.

9 years agowaylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer...
George Kiagiadakis [Fri, 20 Jun 2014 11:47:57 +0000 (14:47 +0300)]
waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release

This also removes the GstWlMeta and adds a wrapper class for wl_buffer
which is saved in the GstBuffer qdata instead of being a GstMeta.

The motivation behind this is mainly to allow attaching wl_buffers on
GstBuffers that have not been allocated inside the GstWaylandBufferPool,
so that if for example an upstream element is sending us a buffer
from a different pool, which however does not need to be copied
to a buffer from our pool because it may be a hardware buffer
(hello dmabuf!), we can create a wl_buffer directly from it and first,
attach it on it so that we don't have to re-create a wl_buffer every
time the same GstBuffer arrives and second, force the whole mechanism
for keeping the buffer out of the pool until there is a wl_buffer::release
on that foreign GstBuffer.

9 years agoschrodec: optimize parse logic
Vineeth T M [Thu, 9 Oct 2014 02:50:15 +0000 (08:20 +0530)]
schrodec: optimize parse logic

Header will be read each and everytime parse function will be called
which is not necessary since until we have complete data,
we need not parse the header again.

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

9 years agofluiddec: don't leak incoming caps event
Tim-Philipp Müller [Fri, 10 Oct 2014 12:05:49 +0000 (13:05 +0100)]
fluiddec: don't leak incoming caps event

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

9 years agovc1parse: fix framesize when input is frame-layer
Aurélien Zanelli [Thu, 9 Oct 2014 16:18:02 +0000 (18:18 +0200)]
vc1parse: fix framesize when input is frame-layer

frame-layer header is represented as a sequence of 32 bit unsigned
integer serialized in little-endian byte order, so framesize is on the
first 3 bytes.

SMPTE 421M Annex L.

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

9 years agomidiparse: mention fluiddec instead of fluidsynth
Antonio Ospite [Tue, 7 Oct 2014 15:05:04 +0000 (17:05 +0200)]
midiparse: mention fluiddec instead of fluidsynth

The element name is actually fluiddec even if it uses fluidsynth.

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

9 years agofluiddec: fix some memory leaks
Antonio Ospite [Thu, 9 Oct 2014 09:51:16 +0000 (11:51 +0200)]
fluiddec: fix some memory leaks

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

9 years agopcapparse: Add support for LINKTYPE_RAW
David Woodhouse [Thu, 9 Oct 2014 08:11:00 +0000 (04:11 -0400)]
pcapparse: Add support for LINKTYPE_RAW

Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because
libpcap translates from internal OS-specific DLT_ numbering to the portable
LINKTYPE_ number space when writing files.

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

9 years agotest: use G_GSIZE_FORMAT in audiomixer test
Aurélien Zanelli [Thu, 9 Oct 2014 12:51:56 +0000 (14:51 +0200)]
test: use G_GSIZE_FORMAT in audiomixer test

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

9 years agotests/aggregator: add timeout handling test for the timeout parameter
Matthew Waters [Tue, 7 Oct 2014 05:57:27 +0000 (16:57 +1100)]
tests/aggregator: add timeout handling test for the timeout parameter

9 years agoaggregator: add latency query handling
Matthew Waters [Mon, 6 Oct 2014 10:46:24 +0000 (21:46 +1100)]
aggregator: add latency query handling

9 years agovideoaggregator: support unresponsive pads
Matthew Waters [Mon, 6 Oct 2014 07:33:52 +0000 (18:33 +1100)]
videoaggregator: support unresponsive pads

Render unresponsive pads with the last video frame received.

9 years agoaggregator: add a timeout property determining buffer wait time
Matthew Waters [Mon, 6 Oct 2014 07:23:03 +0000 (18:23 +1100)]
aggregator: add a timeout property determining buffer wait time

Determines the amount of time that a pad will wait for a buffer before
being marked unresponsive.

Network sources may fail to produce buffers for an extended period of time,
currently causing the pipeline to stall possibly indefinitely, waiting for
these buffers to appear.

Subclasses should render unresponsive pads with either silence (audio), the
last (video) frame or what makes the most sense in the given context.

9 years agovideoaggregator: remove the use of the queued buffer on sink pads
Matthew Waters [Mon, 6 Oct 2014 07:10:38 +0000 (18:10 +1100)]
videoaggregator: remove the use of the queued buffer on sink pads

That data is now held by the aggregator class