platform/upstream/gstreamer.git
8 years agojpeg2000parse: Require either colorspace or sampling field in sink caps
Aaron Boxer [Wed, 8 Jun 2016 15:32:28 +0000 (11:32 -0400)]
jpeg2000parse: Require either colorspace or sampling field in sink caps

And always set the sampling field on the src caps, if necessary guessing a
correct value for it from the colorspace field.

Also, did some cleanup: removed sampling enum - redundant.

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

8 years agofacedetect: Fix compiler warning with clang 3.8
Heinrich Fink [Fri, 10 Jun 2016 08:32:46 +0000 (11:32 +0300)]
facedetect: Fix compiler warning with clang 3.8

Use namespace only after it was actually defined by a header.

gstfacedetect.cpp:79:17: error: using directive refers to implicitly-defined namespace 'std' [-Werror]
using namespace std;
                ^

8 years agodvbsrc: unify exit paths on _start()
Reynaldo H. Verdejo Pinochet [Mon, 6 Jun 2016 23:35:15 +0000 (16:35 -0700)]
dvbsrc: unify exit paths on _start()

8 years agodvbsrc: use proper acronym for PID (Packet Identifier)
Reynaldo H. Verdejo Pinochet [Mon, 6 Jun 2016 22:31:31 +0000 (15:31 -0700)]
dvbsrc: use proper acronym for PID (Packet Identifier)

Drop formatting tab from message while at it.

8 years agodvbsrc: set common PES filter params once and reuse
Reynaldo H. Verdejo Pinochet [Mon, 6 Jun 2016 19:25:22 +0000 (12:25 -0700)]
dvbsrc: set common PES filter params once and reuse

Avoid setting the same harcoded values over and over again.

8 years agodc1394src: minor clean-up
Tim-Philipp Müller [Thu, 9 Jun 2016 21:01:45 +0000 (22:01 +0100)]
dc1394src: minor clean-up

We always call _parse_caps() with non-NULL out vars.

8 years agodc1394src: fix some more c99-isms
Tim-Philipp Müller [Thu, 9 Jun 2016 21:01:13 +0000 (22:01 +0100)]
dc1394src: fix some more c99-isms

8 years agodocs: fix for renamed dc1394 source file
Tim-Philipp Müller [Thu, 9 Jun 2016 20:47:05 +0000 (21:47 +0100)]
docs: fix for renamed dc1394 source file

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

8 years agodc1394src: prefix and file names according to Gstreamer conventions
Joan Pau Beltran [Tue, 7 Jun 2016 13:50:50 +0000 (15:50 +0200)]
dc1394src: prefix and file names according to Gstreamer conventions

Replace the type and function prefix to follow the conventions:

  - Use `GST_TYPE_DC1394_SRC` instead of `GST_TYPE_DC1394`.

  - Use `GstDC1394Src` and `GstDC1394SrcClass` instead of
    `GstDc1394` and `GstDc1394Class`.

  - Use `gst_dc1394_src` instead of `gst_dc1394`.

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

8 years agodc1394src: port to 1.X
Joan Pau Beltran [Tue, 10 May 2016 16:30:35 +0000 (18:30 +0200)]
dc1394src: port to 1.X

The dc1394src is a PushSrc element for IIDC cameras based on libdc1394.
The implementation from the 0.x series is deffective:
caps negotiation does not work, and some video formats
provided by the camera are not supported.

Refactor the code to port it to 1.X and enhance the support
for the full set of video options of IIDC cameras:

  - The IIDC specification includes a set of camera video modes
    (video format, frame size, and frame rates).
    They do not map perfectly to Gstreamer formats, but those that
    do not match are very rare (if used at all by any camera).
    In addition, although the specification includes a raw format,
    some cameras use mono video formats to capture in Bayer format.
    Map corresponding video modes to Gstreamer formats in capabilities,
    allowing both gray raw and Bayer video formats for mono video modes.

  - The specification includes scalable video modes (Format7),
    where the frame size and rate can be set to arbitrary values
    (within the limits of the camera and the bus transport).
    Allow the use of such mode, using the frame size and rate
    from the negotiatied caps, and set the camera frame rate
    adjusting the packet size as in:
    <http://damien.douxchamps.net/ieee1394/libdc1394/faq/#How_do_I_set_the_frame_rate>

    The scalable modes also allow for a custom ROI offset.
    Support for it can be easily added later using properties.

  - Camera operation using libdc1394 is as follows:

      1. Enumerate cameras on the system and open the camera
         identified the enumeration index or by a GUID (64bit hex code).

      2. Query the video formats supported by the camera.

      3. Configure the camera for the desired video format.

      4. Setup the capture resources for the configured video format
         and start the camera transmission.

      5. Capture frames from the camera and release them when not used.

      6. Stop the camera transmission and clear the capture resources.

      7. Close the camera freeing its resources.

    Do steps 2 and 3 when getting and setting the caps respectively.
    Ideally 4 and 6 would be done when going from PAUSED to PLAYING
    and viceversa, but since caps might not be set yet, the video mode
    is not properly configured leaving the camera in a broken state.
    Hence, setup capture and start transmission in the set caps method,
    and consequently clear the capture and stop the transmission
    when going from PAUSED to READY (instead of PLAYING to PAUSED).
    Symmetrycally, open the camera when going from READY to PAUSED,
    allowing to probe the camera caps in the negotiation stage.
    Implement that using the `start` and `stop` methods of `GstBaseSrc`,
    instead of the `change-state` method of `GstElement`.
    Stop the camera before setting new caps and restarting it again
    to handle caps reconfiguration while in PLAYING (it has no effect
    if the camera is not started).

  - Create buffers copying the bytes of the captured frames.
    Alternatively, the buffers could just wrap the bytes of the frames,
    releasing the frame in the buffer's destroy notify function,
    if all buffers were destroyed before going from PLAYING to PAUSED.

  - No timestamp nor offset is set when creating buffers.
    Timestamping is delegated to the parent class BaseSrc,
    setting `gst_base_src_set_live` TRUE, `gst_base_src_set_format`
    with GST_FORMAT_TIME and `gst_base_src_set_do_timestamp`.
    Captured frames have a timestamp field with the system time
    at the completion of the transmission of the frame,
    but it is not sure that this comes from a monotonic clock,
    and it seems to be left NULL in Windows.

  - Use GUID and unit properties to select the camera to operate on.
    The camera number used in version 0.X does not uniquely identify
    the device (it depends on the set of cameras currently detected).
    Since the GUID is 64bit identifier (same as MAC address),
    handle it with a string property with its hexadecimal representation.
    For practicality, operate on the first camera available if the GUID
    is null (default) and match any camera unit number if unit is -1.
    Alternatively, the GUID could be handed with an unsigned 64 bit
    integer type property, using `0xffffffffffffffff` as default value
    to select the first camera available (it is not a valid GUID value).

  - Keep name `GstDc1394` and prefix `gst_dc1394` as in version 0.X,
    although `GstDC1394Src` and `gst_dc1394_src` are more descriptive.

  - Adjust build files to reenable the compilation of the plugin.

    Remove dc1394 from the list of unported plugins in configure.ac.

    Add the missing flags and libraries to Makefile.
    Use `$()` for variable substitution, as many plugins do,
    although other plugins use `@@` instead.

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

8 years agoadaptivedemux: Move SEEK handling to a separate function
Edward Hervey [Wed, 8 Jun 2016 16:02:32 +0000 (18:02 +0200)]
adaptivedemux: Move SEEK handling to a separate function

Just for code readability. Doesn't change behaviour

8 years agowebpdec: Wait for segment event before checking it
Nicolas Dufresne [Wed, 8 Jun 2016 01:10:04 +0000 (21:10 -0400)]
webpdec: Wait for segment event before checking it

The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

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

8 years agovmncdec: Wait for segment event before checking it
Nicolas Dufresne [Wed, 8 Jun 2016 01:04:21 +0000 (21:04 -0400)]
vmncdec: Wait for segment event before checking it

The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

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

8 years agoopenjpeg: fix builddir != srcdir build, and distcheck
Tim-Philipp Müller [Tue, 7 Jun 2016 13:15:41 +0000 (14:15 +0100)]
openjpeg: fix builddir != srcdir build, and distcheck

8 years agojpeg2000parse: Add JPEG2000 parser element
Aaron Boxer [Wed, 1 Jun 2016 23:02:33 +0000 (19:02 -0400)]
jpeg2000parse: Add JPEG2000 parser element

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

8 years agoopenjpeg: set sampling in the caps
Aaron Boxer [Wed, 1 Jun 2016 23:01:44 +0000 (19:01 -0400)]
openjpeg: set sampling in the caps

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

8 years agompegtsmux: Set PTS on aligned buffers
Jan Alexander Steffens (heftig) [Mon, 2 May 2016 15:38:50 +0000 (17:38 +0200)]
mpegtsmux: Set PTS on aligned buffers

This was broken in 09c05df (make "alignment" property more useful for
packetisation).

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

8 years agovtdec: always drain in ::negotiate
Alessandro Decina [Tue, 7 Jun 2016 07:22:01 +0000 (17:22 +1000)]
vtdec: always drain in ::negotiate

Move calling gst_vtdec_push_frames_if_needed from ::set_format to ::negotiate so
that we always drain even when renegotiation is triggered by downstream.

8 years agovtdec: try to preserve downstream caps order
Alessandro Decina [Tue, 7 Jun 2016 06:00:01 +0000 (16:00 +1000)]
vtdec: try to preserve downstream caps order

vtdec specifies sysmem; GLMemory as template caps. When negotiating, we used to
call gst_pad_peer_query_caps (..., filter) with our template caps as filter. The
query does gst_caps_intersect (filter, peercaps) internally which gives
precedence to the order of the filter caps. While we want to output sysmem by
default, when negotiating with glimagesink which returns GLMemory; sysmem; we
do want to do GL, so we now query using a NULL filter and intersect the result
with our template caps giving precedence to downstream's caps.

tl;dr: make sure we end up negotiating GLMemory with glimagesink

8 years agoahcsrc: Avoid a div by 0 warning
Xavier Claessens [Mon, 6 Jun 2016 18:08:43 +0000 (14:08 -0400)]
ahcsrc: Avoid a div by 0 warning

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

8 years agoamcvideoenc: Do not call gst_object_unref on GstCaps
Xavier Claessens [Mon, 6 Jun 2016 16:38:45 +0000 (12:38 -0400)]
amcvideoenc: Do not call gst_object_unref on GstCaps

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

8 years agoadaptivedemux: Set DISCONT on startup, resume and after seeks
Edward Hervey [Thu, 19 May 2016 09:16:50 +0000 (11:16 +0200)]
adaptivedemux: Set DISCONT on startup, resume and after seeks

Initial buffers after STREAM_START and seeks should always have the
DISCONT flag set.

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

8 years agotsdemux: Change the pad naming scheme to include a generation ID
Jan Schmidt [Tue, 22 Sep 2015 16:51:57 +0000 (02:51 +1000)]
tsdemux: Change the pad naming scheme to include a generation ID

A simple fix for the problem of creating new pads with duplicate
names when switching program, easier than the alternative of
trying to work out which pads might persist and manage that.

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

8 years agoplayer: pause() should not inhibit signals but work exactly like play()
Sebastian Dröge [Mon, 6 Jun 2016 08:13:00 +0000 (11:13 +0300)]
player: pause() should not inhibit signals but work exactly like play()

https://bugzilla.gnome.org/show_bug.cgi?id=766607#c23

8 years agodvbsrc: improve description of PIDs property
Reynaldo H. Verdejo Pinochet [Fri, 3 Jun 2016 22:58:52 +0000 (15:58 -0700)]
dvbsrc: improve description of PIDs property

8 years agoapplemedia: Only use the OpenGL framework on OSX
Edward Hervey [Fri, 3 Jun 2016 05:11:33 +0000 (07:11 +0200)]
applemedia: Only use the OpenGL framework on OSX

It's not available on ios (uses OpenGLES already)

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

8 years agogst-libs: gl, video: use MAY_BE_LEAKED flag
Guillaume Desmottes [Tue, 17 May 2016 14:14:49 +0000 (17:14 +0300)]
gst-libs: gl, video: use MAY_BE_LEAKED flag

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

8 years agoa2dpsink: unref avdtpsink if state transition failed
Guillaume Desmottes [Wed, 18 May 2016 09:48:48 +0000 (12:48 +0300)]
a2dpsink: unref avdtpsink if state transition failed

If for some reason the avdtpsink element can't go READY then the
gsta2dpsink can't either and so should release the ressources it
allocates when trying to do so.

Fix a leak with the generic/states test.

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

8 years agoapplemedia: CGLTexImageIOSurface2D needs the OpenGL framework on OSX
Havard Graff [Sat, 28 May 2016 19:34:52 +0000 (21:34 +0200)]
applemedia: CGLTexImageIOSurface2D needs the OpenGL framework on OSX

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

8 years agoavsamplevideosink: check we are compiling for 10.1 up to 10.4
Havard Graff [Sat, 28 May 2016 19:39:00 +0000 (21:39 +0200)]
avsamplevideosink: check we are compiling for 10.1 up to 10.4

This API was deprecated in 10.4, so don't use it for 10.5 and onwards.

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

8 years agoapplemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX
Heinrich Fink [Wed, 1 Jun 2016 11:43:32 +0000 (13:43 +0200)]
applemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX

Similar to vtdec_hw, this commit adds a vtenc_h264_hw element that fails
caps negotiation unless a hardware encoder could actually be acquired.
This is useful in situations where a fallback to a software encoder
other than the vtenc_h264 software encoder is desired (e.g. to x264enc).

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

8 years agovtdec: make vtdec_hw fallback to software on renegotiation
Alessandro Decina [Thu, 2 Jun 2016 06:30:02 +0000 (16:30 +1000)]
vtdec: make vtdec_hw fallback to software on renegotiation

When renegotiating mid stream - for example with variable bitrate
streams - and therefore destroying and recreating VTSessions, the
hw decoder might become temporarily unavailable.

To deal with this and avoid erroring out on bitrate changes,
vtdec_hw now falls back to using the software decoder if the hw
one was available at some point but isn't anymore. At
renegotiation/bitrate change time, it will still retry to open
the hardware one.

8 years agovtdec: fix switching from GLMemory to Sysmem
Alessandro Decina [Thu, 2 Jun 2016 03:10:51 +0000 (13:10 +1000)]
vtdec: fix switching from GLMemory to Sysmem

When renegotiating from GLMemory to Sysmem do teardown the texture_cache.

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

8 years agovtdec: optimize renegotiation
Alessandro Decina [Thu, 2 Jun 2016 01:36:57 +0000 (11:36 +1000)]
vtdec: optimize renegotiation

::negotiate can be called several times before the CAPS event is sent downstream
so use the currently configured output state caps instead of the pad current
caps when deciding whether to recreate the VTSession or not.

This leads to creating/destroying less VTSessions which makes renegotiation more
reliable especially when using hw decoding.

8 years agodvbsrc: remove comment on self-explanatory code
Reynaldo H. Verdejo Pinochet [Wed, 1 Jun 2016 20:52:10 +0000 (13:52 -0700)]
dvbsrc: remove comment on self-explanatory code

8 years agodvbsrc: avoid out-bound write on PID filter array
Reynaldo H. Verdejo Pinochet [Wed, 1 Jun 2016 20:18:21 +0000 (13:18 -0700)]
dvbsrc: avoid out-bound write on PID filter array

There's no need for an end-of-list marker in the filter
PIDs array if full, as the absolute maximum number of
elements (MAX_FILTERS) is known.

CID #1362441

8 years agoandroidmedia: fix error debug message when camera doesn't exist
Tim-Philipp Müller [Tue, 31 May 2016 19:41:14 +0000 (20:41 +0100)]
androidmedia: fix error debug message when camera doesn't exist

Makes no sense to include the system error here since errno
will likely not be set and then it says 'system error: success'
which is confusing.

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

8 years agoahcsrc: release resources in 'finalize' function
Justin Kim [Tue, 31 May 2016 09:58:43 +0000 (18:58 +0900)]
ahcsrc: release resources in 'finalize' function

In general, 'dispose' function is used for dropping all references
and 'finalize' is called for releasing instances.

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

8 years agoplayer: inhibit signals after gst_player_stop() has been called
Guillaume Desmottes [Wed, 25 May 2016 13:01:31 +0000 (15:01 +0200)]
player: inhibit signals after gst_player_stop() has been called

Also wait for the state change to STOP to have been announced before
destroying the player so it won't appear as leaked by leak detector
tools.

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

8 years agoplayer: handle uri-loaded in test
Guillaume Desmottes [Wed, 25 May 2016 10:48:13 +0000 (12:48 +0200)]
player: handle uri-loaded in test

Had to adapt the existing tests because of this new callback.

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

8 years agoh265parse: Don't assume contiguous id's in make_codec_data
Scott D Phillips [Wed, 25 May 2016 23:57:49 +0000 (16:57 -0700)]
h265parse: Don't assume contiguous id's in make_codec_data

vps/sps/pps id's are not required to be used contiguously.

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

8 years agodvbsrc: add sample ATSC launch line
Reynaldo H. Verdejo Pinochet [Sat, 28 May 2016 08:22:32 +0000 (01:22 -0700)]
dvbsrc: add sample ATSC launch line

8 years agogl: glquery: cast to silence compiler warning
Havard Graff [Sat, 28 May 2016 19:36:04 +0000 (21:36 +0200)]
gl: glquery: cast to silence compiler warning

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

8 years agogltestsrc: gltestsrc.h already defines GstGLTestSrc
Havard Graff [Sat, 28 May 2016 19:35:37 +0000 (21:35 +0200)]
gltestsrc: gltestsrc.h already defines GstGLTestSrc

And redefinition is not allowed.

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

8 years agoplayer: use correct _NONE enum
Havard Graff [Fri, 27 May 2016 21:24:54 +0000 (23:24 +0200)]
player: use correct _NONE enum

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

8 years agoh264parser: maintain minimal ABI compat
Tim-Philipp Müller [Sat, 28 May 2016 09:44:04 +0000 (10:44 +0100)]
h264parser: maintain minimal ABI compat

Because we can.

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

8 years agoh264parser: Remove unused fps_num/fps_den fields
Sebastian Dröge [Thu, 22 May 2014 14:12:01 +0000 (16:12 +0200)]
h264parser: Remove unused fps_num/fps_den fields

Instead the newly added function should be used to calculate
the framerate properly.

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

8 years agosmoothstreaming: update fps calculation for h264 codec parser API changes
Tim-Philipp Müller [Wed, 25 May 2016 09:59:00 +0000 (10:59 +0100)]
smoothstreaming: update fps calculation for h264 codec parser API changes

Use new gst_h264_video_calculate_framerate() API instead of fps_n/fps_d
fields in SPS struct which are to be removed.

Apparently H264 content in MSS is always non-interlaced/progressive,
so we can just pass 0 for field_pic_flag and don't need to parse any
slice headers first if there's no external signalling. But even if
that's not the case the new code is not worse than the existing code.

https://msdn.microsoft.com/en-us/library/cc189080%28VS.95%29.aspx

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

8 years agodvbsrc: use single marker at end of filtering PID list
Reynaldo H. Verdejo Pinochet [Thu, 26 May 2016 17:28:14 +0000 (10:28 -0700)]
dvbsrc: use single marker at end of filtering PID list

Avoids at least ~100 unneeded assignment operations at runtime

8 years agodvbsrc: simplify reporting of set polarity
Reynaldo H. Verdejo Pinochet [Mon, 23 May 2016 23:31:05 +0000 (16:31 -0700)]
dvbsrc: simplify reporting of set polarity

8 years agodvbsrc: fix bandwidth-hz property description
Reynaldo H. Verdejo Pinochet [Mon, 23 May 2016 21:41:40 +0000 (14:41 -0700)]
dvbsrc: fix bandwidth-hz property description

Bandwidth Hz is no longer a DVBT-only property

8 years agodvbsrc: fix usage of PES & DVR acronyms everywhere
Reynaldo H. Verdejo Pinochet [Mon, 23 May 2016 21:02:10 +0000 (14:02 -0700)]
dvbsrc: fix usage of PES & DVR acronyms everywhere

Additionally, improve message on gst_poll_new() failure

8 years agogldisplay: always unref the context on a collision
Matthew Waters [Thu, 26 May 2016 10:16:07 +0000 (20:16 +1000)]
gldisplay: always unref the context on a collision

Otherwise we will leak GstGLContext's when adding the same context more than
once.

Fixes a regression caused by 5f9d10f6036068502ad23e1ec86a73e341801ae1 in the
gstglcontext unit test that failed with:

Assertion 'tmp == NULL' failed

8 years agoRevert "aggregator: Start the task when linked"
Nicolas Dufresne [Wed, 25 May 2016 17:38:47 +0000 (13:38 -0400)]
Revert "aggregator: Start the task when linked"

This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709.

8 years agocaopengllayersink: Don't cache buffer pool
Nicolas Dufresne [Fri, 20 May 2016 18:34:37 +0000 (14:34 -0400)]
caopengllayersink: Don't cache buffer pool

Pools cannot be used by the two elements at the same time.

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

8 years agoaggregator: Start the task when linked
Nicolas Dufresne [Wed, 13 Apr 2016 20:30:28 +0000 (16:30 -0400)]
aggregator: Start the task when linked

Until now we would start the task when the pad is activated. Part of the
activiation concist of testing if the pipeline is live or not.
Unfortunatly, this is often too soon, as it's likely that the pad get
activated before it is fully linked in dynamic pipeline.

Instead, start the task when the first serialized event arrive. This is
a safe moment as we know that the upstream chain is complete and just
like the pad activation, the pads are locked, hence cannot change.

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

8 years agogl: win32: Add debug category in gstglcontext_wgl.c
Xavier Claessens [Wed, 25 May 2016 13:09:01 +0000 (09:09 -0400)]
gl: win32: Add debug category in gstglcontext_wgl.c

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

8 years agoglimagesink: support video rotation using transform matrix
Haihua Hu [Mon, 16 May 2016 12:02:28 +0000 (20:02 +0800)]
glimagesink: support video rotation using transform matrix

Add "rotate-method" to glimagesink and apply transform matrix
to vertex coordinate to control rotation.

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

8 years agoglvideomixer: fix race retrieving the GL context from the display
Matthew Waters [Tue, 24 May 2016 13:39:27 +0000 (23:39 +1000)]
glvideomixer: fix race retrieving the GL context from the display

_get_gl_context() can be called concurrently from either propose_allocation() or
decide_allocation().  If it so happens that this happens at the same time,
the check for whether we already had a GL context was outside the lock.  Inside
the lock and loop, the first thing that happens is that we unref the current GL
context (if valid) as if there was a conflict adding it to the display.  If the
timing was unlucky, subsequent use of the GL context would be referencing an
already unreffed GL context object resulting in a critical:

g_object_ref: assertion 'object->ref_count > 0' failed

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

8 years agogldisplay: add some debugging about retrieving GL contexts
Matthew Waters [Tue, 24 May 2016 13:38:22 +0000 (23:38 +1000)]
gldisplay: add some debugging about retrieving GL contexts

8 years agoeglimage: Re-add accidentially removed GST_DEFINE_MINI_OBJECT_TYPE()
Sebastian Dröge [Wed, 25 May 2016 07:01:38 +0000 (10:01 +0300)]
eglimage: Re-add accidentially removed GST_DEFINE_MINI_OBJECT_TYPE()

8 years agoplayer: fix suburi getter debug message
Guillaume Desmottes [Mon, 23 May 2016 12:24:53 +0000 (15:24 +0300)]
player: fix suburi getter debug message

The property is a string, not a boolean.

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

8 years agoplayer: Don't set subtitle URI directly but dispatch to the player thread
Sebastian Dröge [Wed, 25 May 2016 06:53:15 +0000 (09:53 +0300)]
player: Don't set subtitle URI directly but dispatch to the player thread

Otherwise we do state changes and everything in the application thread, which
might block and more important can cause reentrant signals.

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

8 years agoeglimage: Ensure that the debug category is always initalized
Sebastian Dröge [Mon, 23 May 2016 17:11:17 +0000 (20:11 +0300)]
eglimage: Ensure that the debug category is always initalized

Before the initializer was only run if dmabuf support was used.

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

8 years agogltransformation: make the pivot-z property READWRITE
Arjen Veenhuizen [Tue, 24 May 2016 13:30:09 +0000 (23:30 +1000)]
gltransformation: make the pivot-z property READWRITE

Instead of just being READABLE.

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

8 years agogltestsrc: fix src_impl leak
Guillaume Desmottes [Mon, 23 May 2016 07:40:58 +0000 (10:40 +0300)]
gltestsrc: fix src_impl leak

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

8 years agog-i: pass compiler env to g-ir-scanner
Tim-Philipp Müller [Mon, 23 May 2016 23:55:11 +0000 (00:55 +0100)]
g-i: pass compiler env to g-ir-scanner

It's what introspection.mak does as well. Should
fix spurious build failures on gnome-continuous.

8 years agopnmdec: Fix ASCII parsing
Jan Schmidt [Mon, 23 May 2016 21:17:22 +0000 (07:17 +1000)]
pnmdec: Fix ASCII parsing

Parse gray16 properly in ascii mode, and fix
some bugs around reading data in chunks when
ascii values cross chunk boundaries

8 years agopnm: Add a basic unit test
Jan Schmidt [Wed, 18 May 2016 15:28:04 +0000 (01:28 +1000)]
pnm: Add a basic unit test

Test that we can run an encode / decode cycle in various
formats without errors

8 years agopnmenc: Make output caps match the srcpad template
Jan Schmidt [Wed, 18 May 2016 15:04:36 +0000 (01:04 +1000)]
pnmenc: Make output caps match the srcpad template

Don't output 'image/pnm', which isn't even in the template
caps. Instead, output a mime-type consistent with what we
are encoding.

8 years agopnmenc: Tidy up code, support BE/LE GRAY16 properly
Jan Schmidt [Wed, 18 May 2016 07:19:40 +0000 (17:19 +1000)]
pnmenc: Tidy up code, support BE/LE GRAY16 properly

Remove code that dealt with odd strides separately - there's
not really any overhead to just using 1 codepath for both matched
and unmatched stride output.

Add separate codepaths for BE vs LE GRAY16 input so they're
handled properly

8 years agopnmdec: Actually output LE or BE GRAY16 as negotiated
Jan Schmidt [Mon, 16 May 2016 11:22:57 +0000 (21:22 +1000)]
pnmdec: Actually output LE or BE GRAY16 as negotiated

Add codepaths to output GRAY16 in little or big endian
as negotiated.

Move all output format negotiation into a central
function and clean it up

8 years agopnmdec: Implementation of GRAY16 handling
Dimitrios Katsaros [Thu, 22 Oct 2015 15:06:01 +0000 (17:06 +0200)]
pnmdec: Implementation of GRAY16 handling

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

8 years agopnmenc: Implementation of GRAY16 handling
Dimitrios Katsaros [Mon, 19 Oct 2015 15:15:30 +0000 (17:15 +0200)]
pnmenc: Implementation of GRAY16 handling

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

8 years agokmsbufferpool: error only if no allocator
Víctor Manuel Jáquez Leal [Fri, 20 May 2016 17:25:57 +0000 (19:25 +0200)]
kmsbufferpool: error only if no allocator

Do not expect an allocator from the configuration, but expect to have already
one set.

8 years agokmssink: frame copy log in performance category
Víctor Manuel Jáquez Leal [Sun, 15 May 2016 09:52:55 +0000 (11:52 +0200)]
kmssink: frame copy log in performance category

Log the message when the frame is going to be copy (worse case) under the
performance log category.

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

8 years agokmssink: use trace level for buffer render log
Víctor Manuel Jáquez Leal [Sun, 15 May 2016 09:51:22 +0000 (11:51 +0200)]
kmssink: use trace level for buffer render log

Instead of using debug level for logging each buffer rendered, use trace
level.

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

8 years agoplayer: Fix documentation for gst_player_video_info_get_framerate()
Arun Raghavan [Mon, 23 May 2016 11:30:22 +0000 (17:00 +0530)]
player: Fix documentation for gst_player_video_info_get_framerate()

Document out parameters and fix function name.

8 years agoplayer: use gst_check_init() in test
Guillaume Desmottes [Wed, 18 May 2016 13:00:47 +0000 (16:00 +0300)]
player: use gst_check_init() in test

Calling GST_DEBUG() in test rely on the default category to be defined,
which is done in gst_check_init().

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

8 years agoopenjpegenc: enable MCT for RGB video
Aaron Boxer [Fri, 20 May 2016 21:28:52 +0000 (17:28 -0400)]
openjpegenc: enable MCT for RGB video

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

8 years agodvbsrc: group DVB-T2 substream-id check with its corresponding set_prop()
Reynaldo H. Verdejo Pinochet [Fri, 20 May 2016 21:08:03 +0000 (14:08 -0700)]
dvbsrc: group DVB-T2 substream-id check with its corresponding set_prop()

8 years agodvbsrc: add DVB-S2 sub-stream ID check
Reynaldo H. Verdejo Pinochet [Fri, 20 May 2016 20:57:45 +0000 (13:57 -0700)]
dvbsrc: add DVB-S2 sub-stream ID check

Disable if invalid (> 255) instead of blindy setting this
property regardless of its actual value.

8 years agodvbsrc: clarify consequence of passing a wrong ID to the substream filter
Reynaldo H. Verdejo Pinochet [Fri, 20 May 2016 20:47:06 +0000 (13:47 -0700)]
dvbsrc: clarify consequence of passing a wrong ID to the substream filter

8 years agogltestsrc: fix shaders ref counting
Guillaume Desmottes [Thu, 19 May 2016 14:05:33 +0000 (17:05 +0300)]
gltestsrc: fix shaders ref counting

The gltestsrc element uses two shaders: color_shader and snow_shader.
Those are alternatively assigned to the SrcShader->shader pointer and
their reference was transferred to it. Only the SrcShader->shader was
unreffed (in _src_shader_deinit()) so only one shader was properly
freed, the other one was leaked.

Fixed this by giving an extra ref to SrcShader->shader and unreffing the
2 shaders in _src_smpte_free().

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

8 years agoglmosaic: fix shader leak
Guillaume Desmottes [Thu, 19 May 2016 13:55:31 +0000 (16:55 +0300)]
glmosaic: fix shader leak

gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
first shader was leaked.

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

8 years agogl: win32: Unparent internal window before destroying it
Xavier Claessens [Mon, 16 May 2016 21:11:53 +0000 (17:11 -0400)]
gl: win32: Unparent internal window before destroying it

For some reason DestroyWindow() deadlock if it's called from
parent window's KeyPress event.

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

8 years agogl: win32: Don't steal parent focus when creating internal window
Xavier Claessens [Mon, 16 May 2016 19:26:53 +0000 (15:26 -0400)]
gl: win32: Don't steal parent focus when creating internal window

This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.

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

8 years agovideoaggregator: Don't wait if input buffer is after output
Olivier Crête [Sat, 14 May 2016 09:56:59 +0000 (11:56 +0200)]
videoaggregator: Don't wait if input buffer is after output

If the input buffer is after the end of the output buffer, then waiting
for more data won't help. We will never get an input buffer for this point.

This fixes compositing of streams from rtspsrc.

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

8 years agoahc: fix potential NULL deref
Martin Kelly [Thu, 19 May 2016 16:25:57 +0000 (09:25 -0700)]
ahc: fix potential NULL deref

This bug was found via cppcheck static analysis.

If android.hardware.Camera.getParameters returns NULL, then object will
be NULL, and we won't allocate params. This means that the GST_DEBUG
statement referencing params->object will be invalid. Fix this by
exiting early if android.hardware.Camera.getParameters returns NULL.

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

8 years agoahc: fix typo in doc blurb
Martin Kelly [Thu, 19 May 2016 18:33:52 +0000 (11:33 -0700)]
ahc: fix typo in doc blurb

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

8 years agoadaptivedemux: fix pending tags leak
Guillaume Desmottes [Wed, 18 May 2016 13:55:38 +0000 (16:55 +0300)]
adaptivedemux: fix pending tags leak

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

8 years agokmssink: chain up finalize method
Guillaume Desmottes [Wed, 18 May 2016 09:30:05 +0000 (12:30 +0300)]
kmssink: chain up finalize method

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

8 years agoexamples: opencv: typo fix
Martin Kelly [Wed, 18 May 2016 19:33:51 +0000 (12:33 -0700)]
examples: opencv: typo fix

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

8 years agolv2: support CVPorts
Stefan Sauer [Thu, 19 May 2016 04:29:15 +0000 (21:29 -0700)]
lv2: support CVPorts

CVPorts are ports that take a buffer. For now we just fill the buffers with
the control value.

8 years agolv2: use _OBJECT log variants and lower log level when processing
Stefan Sauer [Thu, 19 May 2016 04:26:50 +0000 (21:26 -0700)]
lv2: use _OBJECT log variants and lower log level when processing

8 years agodvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 21:33:04 +0000 (14:33 -0700)]
dvbsrc: move ISDB-T bandwidth check to _is_valid_bandwidth()

Allows test to be used for delivery system auto-detection.

Additionally, add 0 (auto) as valid value.

8 years agodvbsrc: add '0' as a valid value for bandwidth
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 21:19:30 +0000 (14:19 -0700)]
dvbsrc: add '0' as a valid value for bandwidth

Underlying API considers this the BANDWIDTH_HZ equivalent
to the old BANDWIDTH_AUTO for BANDWIDTH.

8 years agodvbsrc: factor out and reuse DVB-T/T2 bandwidth checks
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 20:53:54 +0000 (13:53 -0700)]
dvbsrc: factor out and reuse DVB-T/T2 bandwidth checks

Use new utility function as an additional check for delivery
system auto-detection.

8 years agodvb/parsechannels: recognize additional bandwidths at zap parsing
Reynaldo H. Verdejo Pinochet [Tue, 17 May 2016 19:06:45 +0000 (12:06 -0700)]
dvb/parsechannels: recognize additional bandwidths at zap parsing

Previously ignored 1.712, 5 and 10 MHz values are also valid

8 years agovideoaggregator: canonicalise function names
Tim-Philipp Müller [Mon, 16 May 2016 11:27:50 +0000 (12:27 +0100)]
videoaggregator: canonicalise function names

Had to be done at some point:
gst_videoaggregator_* -> gst_video_aggregator_*
Also fix up some function names with typos.