Julien Isorce [Thu, 18 Jun 2015 09:52:18 +0000 (10:52 +0100)]
Revert "gl: add GstGLContextGPUProcess backend"
This reverts commit
b377112ee38912d316e77b4e2102041389dc0051.
Jan Schmidt [Fri, 19 Jun 2015 04:35:37 +0000 (14:35 +1000)]
glimagesink: Remove duplicate, useless line of code
Nicolas Dufresne [Fri, 19 Jun 2015 02:11:05 +0000 (22:11 -0400)]
opengl: glstero* are only built with full OpenGL
Don't try to register the elements unless they are built.
Nicolas Dufresne [Fri, 19 Jun 2015 01:09:24 +0000 (21:09 -0400)]
style: Remove white spaces at the end of line
Nicolas Dufresne [Thu, 18 Jun 2015 22:09:55 +0000 (18:09 -0400)]
glviewconvert: Fix GLES2 compatibility
Nicolas Dufresne [Thu, 18 Jun 2015 22:02:21 +0000 (18:02 -0400)]
glviewconvert: Fix broken validity check
Jan Schmidt [Mon, 15 Jun 2015 06:06:41 +0000 (16:06 +1000)]
h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
Move the pixel-aspect-ratio calculations higher up in caps
determination, so the results are available for a call to
gst_video_multiview_guess_half_aspect() when stereoscopic video
is detected.
Jan Schmidt [Fri, 29 May 2015 17:09:17 +0000 (03:09 +1000)]
3dvideo: Add simple gtk example stereoscopic video player
https://bugzilla.gnome.org/show_bug.cgi?id=611157
Jan Schmidt [Fri, 29 May 2015 16:29:04 +0000 (02:29 +1000)]
gl: Add glviewconvert, glstereomix and glstereosplit elements
Conversion elements for transforming multiview/stereoscopic video
https://bugzilla.gnome.org/show_bug.cgi?id=611157
Jan Schmidt [Fri, 29 May 2015 16:26:32 +0000 (02:26 +1000)]
glimagesink: Support multiview/stereoscopic video
Support video with multiview info in the caps, transform
it to mono anaglyph by default, but allow for configuring
other output modes and handoff to the app via
the draw signal.
https://bugzilla.gnome.org/show_bug.cgi?id=611157
Jan Schmidt [Fri, 29 May 2015 16:21:43 +0000 (02:21 +1000)]
gl libs: Add glviewconvert helper object
Add API for a helper object that can convert between different
stereoscopic video representations, and later do filtering
of multiple view streams.
https://bugzilla.gnome.org/show_bug.cgi?id=611157
Florin Apostol [Thu, 18 Jun 2015 15:20:26 +0000 (16:20 +0100)]
dashdemux: added warnings in gst_mpd_client_setup_streaming function
Added some warning messages in gst_mpd_client_setup_streaming to help
debug situations when the function will return FALSE.
Renamed a wrongly spelled variable.
https://bugzilla.gnome.org/show_bug.cgi?id=751149
Florin Apostol [Thu, 18 Jun 2015 11:21:43 +0000 (12:21 +0100)]
dashdemux: corrected comments in gstmpdparser.h
Corrected some comments in gstmpdparser.h file.
Moved gst_mpd_client_get_adaptation_sets function to be grouped with
other functions from AdaptationSet group
https://bugzilla.gnome.org/show_bug.cgi?id=751149
Florin Apostol [Thu, 18 Jun 2015 12:08:25 +0000 (13:08 +0100)]
dashdemux: fixed getting representation based on max bandwidth
The gst_mpdparser_get_rep_idx_with_max_bandwidth function assumes
representations are ordered by bandwidth and incorrectly returns the
first one when wanting the one with minimum bandwidth.
Corrected gst_mpdparser_get_rep_idx_with_max_bandwidth function to get the
correct representation in case max_bandwidth parameter is 0.
https://bugzilla.gnome.org/show_bug.cgi?id=751153
Sebastian Dröge [Thu, 18 Jun 2015 12:38:04 +0000 (14:38 +0200)]
androidmedia: Allow the application to provide the Java VM
In JNI_OnLoad() we will already get the Java VM passed and could
just directly use that. gstreamer_android-1.0.c will now provide
this to us.
Reason for this is that apparently not all Android system are
providing the JNI functions to get the currently running Java VMs, so
we would fail to get. With this we will always be able to get the Java
VM on such systems.
Sebastian Dröge [Thu, 18 Jun 2015 12:31:39 +0000 (14:31 +0200)]
androidmedia: Prefer software codecs over hardware codecs for audio
Hardware codecs don't make sense for audio and are generally less reliable on
Android than the software codecs.
Sebastian Dröge [Thu, 18 Jun 2015 12:29:33 +0000 (14:29 +0200)]
androidmedia: Failing to detach a thread is not that much of a problem
Someone else might have detached it before us, so make this just normal debug
output instead of a GST_ERROR()
Sebastian Dröge [Thu, 18 Jun 2015 08:43:53 +0000 (10:43 +0200)]
androidmedia: Don't fail if JNI_CreateJavaVM can't be found
We only need that if no Java VM is running yet, and all usual cases,
i.e. when calling GStreamer from an actual Android app, there will already
be a Java VM we can just use.
It seems like some phones come without that symbol, let's hope they come
with the other symbol but for now don't make a missing JNI_CreateJavaVM fatal.
Alessandro Decina [Thu, 18 Jun 2015 05:59:18 +0000 (12:59 +0700)]
fpsdisplaysink: get rendered and dropped stats from QOS messages
Use QOS messages to update rendered and dropped frame stats. This is
the only accurate method. The old method didn't take max-lateness and
latency into account.
Vineeth TM [Wed, 17 Jun 2015 01:44:16 +0000 (10:44 +0900)]
nalutils: trivial patch to check if
trivial patch to add proper ( while checking for if(G_UNLIKELY())
https://bugzilla.gnome.org/show_bug.cgi?id=751087
Nicolas Dufresne [Tue, 16 Jun 2015 21:48:51 +0000 (17:48 -0400)]
Automatic update of common submodule
From
6015d26 to
f74b2df
Sebastian Dröge [Mon, 15 Jun 2015 19:32:43 +0000 (21:32 +0200)]
gtkglwidget: Const'ify another array
Sebastian Dröge [Mon, 15 Jun 2015 19:29:46 +0000 (21:29 +0200)]
gtkglwidget: Calculate the viewport size ourselves
Getting the current viewport and modifying it relatively will produce an
interesting feedback loop during widget resizing. Over a few frames we
will gradually move the viewport a bit until it converged again, adding
unnecessary additional borders at the top and left.
Sebastian Dröge [Mon, 15 Jun 2015 19:24:01 +0000 (21:24 +0200)]
gtk: Use the display width/height for the widget's preferred width/height
Sebastian Dröge [Mon, 15 Jun 2015 18:45:11 +0000 (20:45 +0200)]
gtksink: Add support for xRGB/BGRx
Sebastian Dröge [Mon, 15 Jun 2015 18:39:59 +0000 (20:39 +0200)]
gtk: Cairo color formats are in native endianness, GStreamer's in memory order
CAIRO_FORMAT_ARGB32 is ARGB on big endian and BGRA on little endian.
Sebastian Dröge [Mon, 15 Jun 2015 18:35:38 +0000 (20:35 +0200)]
gtk: Implement ignore-alpha property and enable it by default
Sebastian Dröge [Mon, 15 Jun 2015 18:13:57 +0000 (20:13 +0200)]
gtk: Sync properties from the sink to the widget upon widget creation
Nicolas Dufresne [Mon, 15 Jun 2015 14:08:57 +0000 (10:08 -0400)]
mpegtsmux: Remove redundant min_dts
After few iteration, this variable became the same as dts. It's not
the min as the name says, but the dts of the current buffer. Simply
remove and place with dts. Also move the debug trace to actually
print the signed version of the running-time dts.
Matthew Waters [Mon, 15 Jun 2015 12:43:54 +0000 (22:43 +1000)]
glimagesink: add missing handle-events/ignore-alpha property to the bin
Matthew Waters [Mon, 15 Jun 2015 08:28:37 +0000 (18:28 +1000)]
gtk: implement pixel and display aspect ratio handling
Sebastian Dröge [Mon, 15 Jun 2015 12:29:04 +0000 (14:29 +0200)]
videoaggregator: Print some debug output if we change the timestamp offset
Sebastian Dröge [Mon, 15 Jun 2015 12:25:43 +0000 (14:25 +0200)]
videoaggregator: Add some more debug output
Sebastian Dröge [Mon, 15 Jun 2015 12:22:00 +0000 (14:22 +0200)]
androidmedia: Move variables into the scope where they are needed
Sebastian Dröge [Mon, 15 Jun 2015 12:19:05 +0000 (14:19 +0200)]
videoaggregator: Don't update the ts-offset before updating the actual configured caps
Sebastian Dröge [Mon, 15 Jun 2015 12:18:39 +0000 (14:18 +0200)]
videoaggregator: Remember if the last LATENCY query returned live or not and use the in the QoS messages
Sebastian Dröge [Mon, 15 Jun 2015 10:20:24 +0000 (12:20 +0200)]
androidmedia: Don't query supported color formats for non-video codecs
Vineeth TM [Mon, 15 Jun 2015 01:34:56 +0000 (10:34 +0900)]
mpegtsmux: fix build error
after
e000a6f0a4984fbe81190df6cd439c70dafde3d6, there is build error in bad plugins
this happens because, GST_CLOCK_STIME_IS_VALID () is being checked for pad_data
but it expects a GstClockTime parameter. Changing the check to 'dts'
https://bugzilla.gnome.org/show_bug.cgi?id=750961
Matthew Waters [Mon, 15 Jun 2015 06:47:15 +0000 (16:47 +1000)]
gl/examples: update qt examples for api changes
Matthew Waters [Mon, 15 Jun 2015 04:35:35 +0000 (14:35 +1000)]
gtk: silence unused variable warnings for unsupported winsys'
Matthew Waters [Mon, 15 Jun 2015 04:33:08 +0000 (14:33 +1000)]
gtk: implement basic wayland GL support
Mathieu Duponchelle [Sun, 14 Jun 2015 21:20:38 +0000 (23:20 +0200)]
compositor: update zorder documentation.
It is not bound between 0 and 10000 anymore.
Mathieu Duponchelle [Sun, 14 Jun 2015 21:13:59 +0000 (23:13 +0200)]
videoaggregator: No need to artificially bound the zorder.
It is an unsigned integer so the upper bound is G_MAXUINT.
Luis de Bethencourt [Wed, 29 Oct 2014 15:03:04 +0000 (15:03 +0000)]
codecparsers: mpeg4: actually return full number of bits of resync marker
Switch the increment of markersize from when it is used to when it is
returned from compute_resync_marker_size.
This also makes the CHECK_REMAINING in gst_mpeg4_parse_video_packet_header
check for the actually required number of bits now and not one too few.
https://bugzilla.gnome.org/show_bug.cgi?id=739345
Tim-Philipp Müller [Sat, 13 Jun 2015 16:36:20 +0000 (17:36 +0100)]
Revert "codecparsers: remove ignored increment of return"
This reverts commit
916b954315abc2f94348ec0be3e116c19b080b54.
Clearly something else was intended, and it also makes
more sense to add the extra bit. The resync marker is
N zero bits plus a 1 bit, and the pattern/mask needs to
be run on N+1 bits too.
(Even after the rever the code doesn't do that of course, so
it still needs to be fixed differently.)
https://bugzilla.gnome.org/show_bug.cgi?id=739345
Arun Raghavan [Fri, 12 Jun 2015 12:38:44 +0000 (18:08 +0530)]
opensles: Fix build with Android API level < 14
Headers were broken on older Android versions, apparently.
https://bugzilla.gnome.org/show_bug.cgi?id=744459
Arun Raghavan [Wed, 28 Jan 2015 07:36:39 +0000 (13:06 +0530)]
openslessink: Allow setting the stream type via a property
Arun Raghavan [Tue, 27 Jan 2015 09:55:59 +0000 (15:25 +0530)]
openslessrc: Implement recording presets
This allows us to signal what kind of audio we are expecting to record,
which should tell the system to apply filters (such as echo
cancellation, noise suppression, etc.) if required.
Sebastian Dröge [Sat, 13 Jun 2015 09:40:14 +0000 (11:40 +0200)]
decklinkvideosink: Remove late frame-dropping workaround for basesink bug
This was fixed by https://bugzilla.gnome.org/show_bug.cgi?id=749258
in basesink, and is not necessary to duplicate here anymore.
Matthew Waters [Sat, 13 Jun 2015 08:43:04 +0000 (18:43 +1000)]
glmixerbin: implement proper dynamic pad removal
https://bugzilla.gnome.org/show_bug.cgi?id=750881
Nicolas Dufresne [Sat, 13 Jun 2015 00:14:37 +0000 (20:14 -0400)]
glimagesink: Don't do pool caching
We now know that pool caching can cause renegotiation issues
when an element in the pipeline change from passthrough to not
passthrough. As it's not needed, don't cache existing pools.
https://bugzilla.gnome.org/show_bug.cgi?id=748344
Nicolas Dufresne [Fri, 12 Jun 2015 22:08:40 +0000 (18:08 -0400)]
configure.ac: Remove reference to cvs
Nicolas Dufresne [Wed, 10 Jun 2015 21:05:52 +0000 (17:05 -0400)]
tsdemux: Segment start should match first PTS
The segment should start at first PTS, and the vairable name lower_pts
state so correctly. Though we where using the first DTS instead. This
could lead to small desynchronization of video stream.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Wed, 10 Jun 2015 16:32:34 +0000 (12:32 -0400)]
tsmux: Add negative DTS support
Use the saved DTS, make it signed and pass that to the stream muxer. This
preserves the running time sign. All usage of -1 as invalid TS are now
replaced with G_MININT64. Negative values will be seen as wrap-around
point, but the delta between PTS and DTS will remain correct. Demuxers
don't care about absolute values, they only cares about deltas.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Wed, 10 Jun 2015 16:31:13 +0000 (12:31 -0400)]
tsmux: Remove uneeded cast and cast macro
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Wed, 10 Jun 2015 15:39:01 +0000 (11:39 -0400)]
mpegtsmux: Properly detect backward DTS
There was code to detect backward dts, but the marker min_dts
was never set. Setting it enable this feature that prevents
potential integer overflow when generating TS.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Florin Apostol [Fri, 12 Jun 2015 15:44:55 +0000 (16:44 +0100)]
dashdemux: fixed segfault for missing default namespace
Added a check for a_node->ns before accessing a_node->ns->href in
gst_mpdparser_get_xml_node_namespace. This could happen if the xml
is missing the default namespace.
https://bugzilla.gnome.org/show_bug.cgi?id=750866
Sebastian Dröge [Fri, 12 Jun 2015 20:33:58 +0000 (22:33 +0200)]
decklinkvideosink: Don't require the same framerate in the input as the mode's framerate
We only really care about the timestamps for the sink.
Nirbheek Chauhan [Fri, 12 Jun 2015 20:10:00 +0000 (01:40 +0530)]
examples: playout: Add better help text
This should help people figure out how to use the example a bit better
Nirbheek Chauhan [Fri, 12 Jun 2015 20:05:59 +0000 (01:35 +0530)]
examples: playout: Decrement the currently-playing counter correctly
Only do that when we're removing an item that was playing, otherwise we'll mess
things up while trying to edit the play queue (playlist).
Nirbheek Chauhan [Thu, 29 Jan 2015 00:56:26 +0000 (00:56 +0000)]
playout: New example for seamless audio/video playback
An example app that takes video URIs as command line arguments and switches
between them seamlessly one after the other using compositor and audiomixer.
Both audio-video and video-only media files are valid inputs, but mixing files
of both types in a single invocation is cumbersome to support, and hence does
not work. The example attempts to keep the audio stream moving along perfectly,
and duplicates video frames where necessary to cover gaps in the video
timestamps using the 'ignore-eos' videoaggregator pad property.
Ensuring seamless (and mostly-glitch-free) switching is harder than it sounds,
and hence the example contains plenty of pad probes and running time
calculations to make things work.
The GPtrArray play_queue contains items that are being played back, have been
prepared for playback, and will be played back in the future. The queue itself
is mutable besides the first two items (playing and prepared). The item that has
been prepared should not be edited or removed since it has been prepared in
advance to be activated immediately on the current item's EOS.
The example also has support for switching to the next item in the queue
prematurely; see the --switch-after/-s flag to the application.
Note: the output video is hard-coded at 1280x720, and input video is scaled as
needed to fit this size. Set OUTPUT_VIDEO_WIDTH/HEIGHT to change this.
https://bugzilla.gnome.org/show_bug.cgi?id=748947
Nirbheek Chauhan [Sat, 6 Jun 2015 15:10:13 +0000 (20:40 +0530)]
tests: Add test for the 'ignore-eos' compositor sink pad property
When the 'ignore-eos' property is set on a pad, compositor will keep resending
the last buffer on the pad till the pad is unlinked. We count the buffers
received on appsink, and if it's more than the buffers sent by videotestsrc, the
test passes.
Nirbheek Chauhan [Mon, 9 Feb 2015 19:19:35 +0000 (00:49 +0530)]
videoaggregator: add "ignore-eos" property for input pads
When set, it causes videoaggregator to repeatedly aggregate the last buffer on
an EOS pad instead of skipping it and outputting silence. This is useful, for
instance, while playing back files seamless one after the other, to avoid
videoaggregator ever outputting silence (the checkerboard pattern).
It is to be noted that if all the pads on videoaggregator have this property set
on them, the mixer will never forward EOS downstream for obvious reasons. Hence,
at least one pad with 'ignore-eos' set to FALSE must send EOS to the mixer
before it will be forwarded downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=748946
Jesper Larsen [Fri, 19 Dec 2014 13:43:20 +0000 (14:43 +0100)]
mpegts: return early if packetizing short section
Short sections have 3 bytes of common header, while other sections
have 8 bytes of common header. If packetizing common header of short
section, we should stop after the first 3 bytes.
https://bugzilla.gnome.org/show_bug.cgi?id=735653
Vivia Nikolaidou [Fri, 12 Jun 2015 14:14:02 +0000 (17:14 +0300)]
debugutilsbad: Minor cleanup
Ran gst-indent on debugutilsbad.c, moved headers to noinst in Makefile.am
Thibault Saunier [Fri, 12 Jun 2015 13:39:56 +0000 (15:39 +0200)]
gtk: Do not try to activate a NULL GLContext
At that point in the code nothing guarantees it exists
Matthew Waters [Fri, 12 Jun 2015 11:31:48 +0000 (21:31 +1000)]
gl/tests: remove reference to undefined buffer test
Matthew Waters [Thu, 11 Jun 2015 08:26:50 +0000 (18:26 +1000)]
glmemory: separate pbo transfer from texture transfers
When supported, the potentially longer pbo upload/download can be
initiated before the texture upload/download, potentially increasing
throughput.
Matthew Waters [Wed, 10 Jun 2015 06:36:15 +0000 (16:36 +1000)]
glmemory: implement on top of glbasebuffer
Provides convenient access to PBO usage.
Currently texture updates are coupled tightly to data transfers.
Matthew Waters [Wed, 10 Jun 2015 06:24:59 +0000 (16:24 +1000)]
gl: new glbasebuffer GstMemory object
Provides generic handling of GL buffer objects accessible using
the GL bind points (GL_ARRAY_BUFFER, GL_PIXEL_*_BUFFER).
Implementation based off the current GstGLMemory.
Matthew Waters [Wed, 10 Jun 2015 06:23:36 +0000 (16:23 +1000)]
gl/prototypes: add some buffer function prototypes
Matthew Waters [Fri, 12 Jun 2015 05:17:30 +0000 (15:17 +1000)]
gtk: implement video aspect-ratio handling
For both the software and the GL sink's.
Doesn't deal with the pixel-aspect-ratio field at all yet.
Matthew Waters [Fri, 12 Jun 2015 03:14:57 +0000 (13:14 +1000)]
gl/window/x11: only listen on the X Display when needed
5697b6b89b4b2a15c45bd47be940a17f4412ea11 causes us to possibly listen
on a toolkit provided Display connection. We thus could eat their
precious winsys events. Only listen if we need to
(!foreign_display or videooverlay).
Matthew Waters [Fri, 12 Jun 2015 02:40:50 +0000 (12:40 +1000)]
gtk: fix a couple of typos
Matthew Waters [Fri, 12 Jun 2015 02:29:37 +0000 (12:29 +1000)]
gtkglsink: reset the context/display in READY_TO_NULL
Fixes context propagation in pipelines with upstream GL elements.
Alex Ashley [Thu, 11 Jun 2015 16:25:49 +0000 (17:25 +0100)]
dashdemux: fix error calculating large presentationTimeOffset values
If the presentationTimeOffset attribute of a DASH manifest contains
a value that is larger than 2^32, gstmpdparser incorrectly calculates
the stream's presentation time offset. This is due to two bugs:
1: Using gst_mpdparser_get_xml_prop_unsigned_integer rather than
gst_mpdparser_get_xml_prop_unsigned_integer_64 to parse the
attribute
2: gst_mpd_client_setup_representation multiplying the value by
GST_SECOND and then dividing by timescale
https://bugzilla.gnome.org/show_bug.cgi?id=750804
Nicolas Dufresne [Thu, 11 Jun 2015 16:41:10 +0000 (12:41 -0400)]
gstgtk: No need to realize the widget
The widget already does that.
Nicolas Dufresne [Thu, 11 Jun 2015 16:38:53 +0000 (12:38 -0400)]
gstgtk: Don't leak the widget
g_object_get() returns a ref, gtk_container_add() only ref_sink().
That mean we still need to unref afterward. This leak was hiding
a reference bug previously present.
Nicolas Dufresne [Thu, 11 Jun 2015 16:10:23 +0000 (12:10 -0400)]
gstgtk: Allow doing gst-inspect-1.0 on these elements
This patch allow going gst-inspect-1.0 on these elements removing
ugly crash that was previously occurring. The method consist of
making the widget creation as lazy as possible. This way we don't
endup doing gtk_init() before the application. We also ref_sink()
the widget, so we don't crash if the parent widget is discarded,
and cleanly error out with GL if the widget has no parent window,
because calling gtk_widget_realized() can only be done if the widget
has been parented to a window).
Jan Schmidt [Fri, 29 May 2015 16:15:51 +0000 (02:15 +1000)]
gl: Add support for multiple views in upload, colour convert and download
Support multiple attached views on input/output buffers
by processing each one, not just the first.
Jan Schmidt [Fri, 29 May 2015 15:38:16 +0000 (01:38 +1000)]
h264parse: Add support for passing stereoscopic/multiview info
Pass any multiview info from the container or SEI info downstream
Jan Schmidt [Wed, 10 Jun 2015 15:57:08 +0000 (01:57 +1000)]
h264parse: Don't switch to passthrough on set_caps()
Wait until at least one keyframe has been parsed before
deciding to switch to passthrough mode, in case the
stream contains SEI messages that supplement the output
caps - for example by providing stereoscopic information
Matthew Waters [Thu, 11 Jun 2015 14:32:00 +0000 (00:32 +1000)]
gl/window/x11: don't create our own X11 display
It's not needed anymore with most window operations occuring in the
GL thread.
Matthew Waters [Thu, 11 Jun 2015 14:30:58 +0000 (00:30 +1000)]
gl/window/x11: handle_events() may be called before the window has been created
Fixes an XIO fatal error
Matthew Waters [Thu, 11 Jun 2015 14:29:23 +0000 (00:29 +1000)]
gl: move basesink properties from glimagesinkbin to glsinkbin
Yanko Kaneti [Wed, 25 Mar 2015 17:27:42 +0000 (19:27 +0200)]
mpegtsmux: Remove arbitrary constraint on prog-map program ids
https://bugzilla.gnome.org/show_bug.cgi?id=746765
Sebastian Dröge [Thu, 11 Jun 2015 13:22:04 +0000 (15:22 +0200)]
gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too
Sebastian Dröge [Thu, 11 Jun 2015 13:17:02 +0000 (15:17 +0200)]
glsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property on playbin
Thibault Saunier [Thu, 11 Jun 2015 13:02:44 +0000 (15:02 +0200)]
gtk: Do not try to initialize display if we have not have a GLContext yet
Sebastian Dröge [Thu, 11 Jun 2015 12:58:27 +0000 (14:58 +0200)]
gtk: Add missing CFLAGS to example
Matthew Waters [Thu, 18 Dec 2014 06:00:30 +0000 (17:00 +1100)]
Implement gtk sinks
two sinks are provided. gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.
Edward Hervey [Wed, 10 Jun 2015 08:36:21 +0000 (10:36 +0200)]
h263parse: Fix PSC matching
We were off by one byte in the matching
It should be (using 24 bit matching):
* startcode : 0000 0000 0000 0000 1000 00xx
* mask (bin) : 1111 1111 1111 1111 1111 1100
* mask (hex) : f f f f f c
* match : 0 0 0 0 8 0
https://bugzilla.gnome.org/show_bug.cgi?id=750685
Ilya Konstantinov [Mon, 11 May 2015 14:47:25 +0000 (16:47 +0200)]
vtenc: always enqueue frames, even on error
Even when we fail to encode frame, we should still enqueue it so
it could be passed into handle_frame (with output_buffer == NULL).
Otherwise, we risk GstVideoEncoder's queue of frames growing unbounded.
Note: We're slightly changing the renegotiation code to accommodate for
frames without output buffers, but this commit takes no ownership over
the way negotiation is being done.
https://bugzilla.gnome.org/show_bug.cgi?id=750669
Fabio Cetrini [Wed, 10 Jun 2015 13:03:31 +0000 (15:03 +0200)]
d3dvideosink: Avoid frame rendering while the window is completely hidden
https://bugzilla.gnome.org/show_bug.cgi?id=749856
Sebastian Dröge [Wed, 10 Jun 2015 09:42:06 +0000 (11:42 +0200)]
gl: OES_vertex_array_object is improperly implemented on PowerVR SGX 544MP
https://bugzilla.gnome.org/show_bug.cgi?id=750185
Ilya Konstantinov [Mon, 11 May 2015 14:40:07 +0000 (16:40 +0200)]
vtenc: free input buffer ASAP
VTCompressionSessionEncodeFrame retains the CVPixelBuffer during
encoding, and will release it as soon as it can (e.g. before it even
calls our callback). This means we can safely release input buffer
at this point, possibly allowing the system to reuse it sooner.
https://bugzilla.gnome.org/show_bug.cgi?id=750671
Ilya Konstantinov [Mon, 11 May 2015 14:39:19 +0000 (16:39 +0200)]
vtenc: Add missing gst_vtenc_frame_free() in error path
https://bugzilla.gnome.org/show_bug.cgi?id=750668
Santiago Carot-Nemesio [Tue, 9 Jun 2015 14:33:39 +0000 (16:33 +0200)]
liveadder: Fix memory leaks iterating over pads
Rebased for latest master by Nicolas Huet <nicolas.huet@parrot.com>.
https://bugzilla.gnome.org/show_bug.cgi?id=745748
Ilya Konstantinov [Tue, 9 Jun 2015 21:16:27 +0000 (00:16 +0300)]
vtenc: add alignment=au to sink caps
VT compression callback gets a CMSampleBuffer per frame, so vtenc_h264
should set 'alignment=au' in sink caps to indicate this.
https://bugzilla.gnome.org/show_bug.cgi?id=750635
Chris Clayton [Tue, 9 Jun 2015 17:30:55 +0000 (18:30 +0100)]
uvch264src: fix compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=750601