Jan Schmidt [Fri, 31 Aug 2012 13:23:53 +0000 (06:23 -0700)]
ghostpad: Make some debugging more verbose
Also, remove an unnecessary #include in input-selector
Jan Schmidt [Tue, 28 Aug 2012 22:44:48 +0000 (15:44 -0700)]
GstSegment: Fix doc description string last_stop->position
Arnaud Vrac [Thu, 30 Aug 2012 18:47:57 +0000 (19:47 +0100)]
inputselector: fix clock leak
https://bugzilla.gnome.org/show_bug.cgi?id=682997
Tim-Philipp Müller [Wed, 29 Aug 2012 21:57:02 +0000 (22:57 +0100)]
tools: output gst-inspect errors to stderr
Alban Browaeys [Tue, 28 Aug 2012 05:39:50 +0000 (07:39 +0200)]
value: fix crash serialising a 0 flags value when there's no name for it
Fixes segfault when doing gst-launch-1.0 -v -m camerabin
(encodebin notifies a 0 value for its "flag" property).
https://bugzilla.gnome.org/show_bug.cgi?id=682958
Tim-Philipp Müller [Fri, 24 Aug 2012 22:14:57 +0000 (23:14 +0100)]
gst: log performance warning debug message if glib emulates atomic ops
Lionel Landwerlin [Thu, 23 Aug 2012 12:51:27 +0000 (13:51 +0100)]
gst: use configure-detected or externally provided glib-mkenums
To ease cross-compilation.
https://bugzilla.gnome.org/show_bug.cgi?id=677620
Stefan Sauer [Wed, 22 Aug 2012 11:29:34 +0000 (13:29 +0200)]
Automatic update of common submodule
From 668acee to 4f962f7
Stefan Sauer [Wed, 22 Aug 2012 11:14:56 +0000 (13:14 +0200)]
configure: bump gtk-doc req to 1.12 (mar-2009)
This allows us to e.g. unconditionally use gtkdoc-rebase.
Wim Taymans [Tue, 21 Aug 2012 11:30:52 +0000 (13:30 +0200)]
memory: add _make_writable
Tim-Philipp Müller [Mon, 20 Aug 2012 23:03:37 +0000 (00:03 +0100)]
docs: mention some media type changes in porting-to-0.11.txt doc
Tim-Philipp Müller [Mon, 20 Aug 2012 12:51:05 +0000 (13:51 +0100)]
docs: minor update to porting doc for child proxy lookup method
And a typo fix.
Wim Taymans [Mon, 20 Aug 2012 09:31:51 +0000 (11:31 +0200)]
allocator: make a copy with the same alignment
When making a copy of the memory allocated from the default memory allocator,
make sure the new copy has the same alignment as the original memory.
See https://bugzilla.gnome.org/show_bug.cgi?id=680796
Tim-Philipp Müller [Sun, 19 Aug 2012 16:51:00 +0000 (17:51 +0100)]
baseparse: make seeking in DEFAULT format work if the subclass can convert for us
We only deal in TIME format ourselves, but if the subclass can handle
converting other formats into TIME format, we can support that too.
Fixes seeking in DEFAULT (sample) format with flacparse,
and the flacdec unit test.
Tim-Philipp Müller [Sat, 18 Aug 2012 20:42:23 +0000 (21:42 +0100)]
tools: minor fixes to gst-launch man page
Stefan Sauer [Fri, 17 Aug 2012 10:23:50 +0000 (12:23 +0200)]
preset: implement child_proxy support
Elements such as the GstIirEqualizerNBands would so far not store the properties
of their children. Now we also grab the properties of child elements and try to
restore them.
Edward Hervey [Tue, 14 Aug 2012 16:44:38 +0000 (18:44 +0200)]
inputselector: Wait for other streams to advance on unselected pads
Otherwise we end up dropping a lot of data in the case where data starts
arriving on the non-selected pad, resulting in big gaps in stream switching
Edward Hervey [Tue, 14 Aug 2012 16:43:54 +0000 (18:43 +0200)]
inputselector: More debug statements
Edward Hervey [Tue, 14 Aug 2012 16:42:31 +0000 (18:42 +0200)]
inputselector: Don't forward stream-start sticky events
Only one STREAM_START event should be let through, else it will
confuse downstream elements that think a new stream is starting
whereas in fact we are just switching to a different input.
In the future we might want to let them through but with the same
sequence number.
Sebastian Dröge [Tue, 14 Aug 2012 13:46:35 +0000 (15:46 +0200)]
docs: Add new basesrc/basetransform API to the docs
Víctor Manuel Jáquez Leal [Tue, 7 Aug 2012 15:38:53 +0000 (17:38 +0200)]
basetransform: getters for pool and allocator
Sometimes a transform filter would need the buffer pool or the memory
allocator negotiated by the base class, for example, for querying different
parameters, such as a bigger number of buffers to allocate by the buffer pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
Víctor Manuel Jáquez Leal [Tue, 7 Aug 2012 15:35:48 +0000 (17:35 +0200)]
basesrc: getters for pool and allocator
Sometimes the sources would use the buffer pool or the memory allocator for
something else than just allocating output buffers; for example, querying for
different parameters, such as a bigger number of buffers to allocate by the
pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
Tim-Philipp Müller [Mon, 13 Aug 2012 23:39:18 +0000 (00:39 +0100)]
registry: remove some unused and in their current form pointless API
Not so useful: just adds/reads stuff from an internal GList without
actually doing anything with those paths, so remove for now:
gst_registry_add_path
gst_registry_get_path_list
https://bugzilla.gnome.org/show_bug.cgi?id=608841
Tim-Philipp Müller [Sun, 12 Aug 2012 12:27:06 +0000 (13:27 +0100)]
parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces
https://bugzilla.gnome.org/show_bug.cgi?id=681681
Tim-Philipp Müller [Sun, 12 Aug 2012 12:24:18 +0000 (13:24 +0100)]
childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method
No longer accept any old GObjects. This makes things nicer for
bindings. If a utility function that handles both nicely
is deemed worthwhile, we can still add one to gstutils.
https://bugzilla.gnome.org/show_bug.cgi?id=681681
Tim-Philipp Müller [Sun, 12 Aug 2012 23:01:16 +0000 (00:01 +0100)]
value: when serialising arrays or lists, handle types we can't serialise more gracefully
https://bugzilla.gnome.org/show_bug.cgi?id=681322
Tim-Philipp Müller [Sun, 12 Aug 2012 18:39:46 +0000 (19:39 +0100)]
consistencychecker: add some more details to failure messages
Mention pad where the problem occured, and the event name.
Tim-Philipp Müller [Sun, 12 Aug 2012 17:36:09 +0000 (18:36 +0100)]
tests: fix collectpads test
After an EOS we must send a FLUSH_STOP event if
we want to send data again.
Tim-Philipp Müller [Sun, 12 Aug 2012 17:31:13 +0000 (18:31 +0100)]
event: fix leak in gst_event_parse_stream_start()
gst_structure_id_get() will make a copy of the string
extracted, but we're assigning it to a const gchar *.
Tim-Philipp Müller [Sun, 12 Aug 2012 15:40:03 +0000 (16:40 +0100)]
tests: make pipeline test valgrind clean
Tim-Philipp Müller [Sun, 12 Aug 2012 15:37:02 +0000 (16:37 +0100)]
tests: fix pipeline unit test
Which was disabled because it failed.
Tim-Philipp Müller [Sun, 12 Aug 2012 14:48:20 +0000 (15:48 +0100)]
scripts: fix unterminated quoted string in create-uninstalled-setup.sh
Tim-Philipp Müller [Sat, 11 Aug 2012 23:12:56 +0000 (00:12 +0100)]
docs: mention gst_video_format_parse_caps() in porting guide
Tim-Philipp Müller [Sat, 11 Aug 2012 21:19:32 +0000 (22:19 +0100)]
docs: fix up docs a bit
Tim-Philipp Müller [Sat, 11 Aug 2012 21:18:13 +0000 (22:18 +0100)]
childproxy: fix up g-i annotation for _lookup() paramspec return value
No ref is returned here.
Tim-Philipp Müller [Sat, 11 Aug 2012 21:17:35 +0000 (22:17 +0100)]
win32: update .def file for new buffer functions
Tim-Philipp Müller [Fri, 10 Aug 2012 21:58:56 +0000 (22:58 +0100)]
baseparse: fix reverse playback with upstream demuxers that support it
Don't just return FALSE for seek events with negative rates when
operating in push mode. An upstream demuxer may support this just
fine, so if we're not operating in pull mode always check upstream
first if it can handle the seek event. This fixes reverse playback
where the upstream demuxer supports it (e.g. with qtdemux). The
same code would work fine in 0.10, because baseparse will just
call the default pad event handler if FALSE was returned from the
baseparse event handler, and the pad event handler will just
forward it upstream. In 0.11 the baseclass or subclass is
responsible for chaining up to the parent class or forwarding the
event upstream in any case.
Disable reverse playback in pull mode for now, there seems to
be something going wrong with the segment configuration in that
case.
Thiago Santos [Sat, 4 Aug 2012 14:48:52 +0000 (11:48 -0300)]
basetransform: do not error on not-negotiated
Don't error out too early and let upstream decide if it can
workaround a not-negotiated problem
https://bugzilla.gnome.org/show_bug.cgi?id=681198
Thiago Santos [Sat, 4 Aug 2012 14:48:13 +0000 (11:48 -0300)]
basesrc: retry on not-negotiate if a reconfigure is pending
Before erroring out on not-negotiated returns, check if the pad
has the reconfigure flag set and retry.
https://bugzilla.gnome.org/show_bug.cgi?id=681198
Thiago Santos [Sat, 4 Aug 2012 14:42:05 +0000 (11:42 -0300)]
pad: add gst_pad_needs_reconfigure
Add an alternative version of gst_pad_check_reconfigure that doesn't
clear the reconfigure flag.
Useful for increasing error resilience without duplicating the
reconfigure code in pad task functions.
API: gst_pad_needs_reconfigure
https://bugzilla.gnome.org/show_bug.cgi?id=681198
Evan Nemerson [Sun, 29 Jul 2012 22:44:45 +0000 (15:44 -0700)]
pad: add GST_PAD_LINK_CHECK_DEFAULT to GstPadLinkCheck
This allows introspection-based bindings to access
Gst.PadLinkCheck.DEFAULT instead of
Gst.PAD_LINK_CHECK_DEFAULT.
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Evan Nemerson [Sun, 29 Jul 2012 21:57:41 +0000 (14:57 -0700)]
buffer: mark gst_buffer_wrapped* data as array
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Evan Nemerson [Tue, 24 Jul 2012 20:26:00 +0000 (13:26 -0700)]
introspection: fix some warnings generated by g-ir-scanner.
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Evan Nemerson [Tue, 31 Jul 2012 04:46:18 +0000 (21:46 -0700)]
buffer: convert gst_buffer_* macros to functions
GObject Introspection does not support macros.
This is needed for bindings. We can still add back
macros or inline functions again later if we think
it's worth it.
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Tim-Philipp Müller [Fri, 10 Aug 2012 12:50:41 +0000 (13:50 +0100)]
netclientclock: fix printf format in debug message
Wim Taymans [Fri, 10 Aug 2012 10:23:03 +0000 (12:23 +0200)]
bufferpool: fix max_buffers handling
When max_buffers > 0 and the pool is empty, actually try to allocate more
buffers up to the max_buffers limit.
We need to add a counter for this to count how many buffers we allocated and
check this against the max_buffers limit.
Reorganise and clean up some code.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681153
Tim-Philipp Müller [Fri, 10 Aug 2012 08:19:25 +0000 (09:19 +0100)]
netclientclock: simplify by using g_socket_condition_timed_wait()
No need to use a custom main context and custom timeout sources,
just use g_socket_condition_timed_wait() instead, which was added
for exactly this case.
Also seems to help with the unit test deadlocking with glib 2.33.x
https://bugzilla.gnome.org/show_bug.cgi?id=681575
Tim-Philipp Müller [Thu, 9 Aug 2012 18:15:29 +0000 (19:15 +0100)]
gstobject: fix double string escaping in gst_object_default_deep_notify()
Make output of gst-launch -v readable again.
last-message = "event\ \ \ \*\*\*\*\*\*\*\ \(fakesink0:sink\)\ E\ \(type:\ tag\ \(20510\)\,\ GstTagList-stream\,\ taglist\=\(taglist\)\"taglist\\\,\\\ video-codec\\\=\\\(string\\\)H264\\\,\\\
minimum-bitrate\\\=\\\(uint\\\)636611\\\,\\\ bitrate\\\=\\\(uint\\\)980729\\\,\\\ maximum-bitrate\\\=\\\(uint\\\)1116707\\\;\"\;\)\ 0x15bc760"
vs.
last-message = event ******* (fakesink0:sink) E (type: tag (20510), GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)H264\,\ minimum-bitrate\=\(uint\)856039\,\ bitrate
\=\(uint\)1019748\,\ maximum-bitrate\=\(uint\)1116707\;";) 0x11149e0
Wim Taymans [Thu, 9 Aug 2012 14:18:59 +0000 (16:18 +0200)]
miniobject: check writability
fix the writability check for miniobjects. We should check the shared counter.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681450
Sebastian Dröge [Wed, 8 Aug 2012 14:08:44 +0000 (16:08 +0200)]
allocator: Set the alignment at the correct place in GstAllocationParams
Tim-Philipp Müller [Wed, 8 Aug 2012 15:18:15 +0000 (16:18 +0100)]
Back to development
Tim-Philipp Müller [Wed, 8 Aug 2012 14:05:08 +0000 (15:05 +0100)]
Release 0.11.93
Tim-Philipp Müller [Wed, 8 Aug 2012 13:49:23 +0000 (14:49 +0100)]
tests: remove silly test_fail_abstract_new check
Our check would make sure that GLib segfaults when
someone tries to instantiate an abstract type, which
is an extremely useful thing to check for.
In newer GLibs this is fixed and we get an abort with
a g_error() now it seems, so let's just remove this
check entirely.
Tim-Philipp Müller [Wed, 8 Aug 2012 08:53:26 +0000 (09:53 +0100)]
examples: don't put things with side effects inside g_assert()
They will be defined away to NOOPs otherwise in release builds.
Tim-Philipp Müller [Wed, 8 Aug 2012 08:13:38 +0000 (09:13 +0100)]
win32: update for stream-id API additions
Tim-Philipp Müller [Tue, 7 Aug 2012 23:54:49 +0000 (00:54 +0100)]
parse: fix for new GstChildProxy::child-added signal callback signature
Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! ..
Sebastian Dröge [Tue, 7 Aug 2012 08:46:17 +0000 (10:46 +0200)]
bus: Add allow-none to the function argument of gst_bus_set_sync_handler()
https://bugzilla.gnome.org/show_bug.cgi?id=681139
Руслан Ижбулатов [Mon, 6 Aug 2012 12:33:57 +0000 (16:33 +0400)]
docs: Make sure scanner gets required libraries
Tim-Philipp Müller [Mon, 6 Aug 2012 19:08:07 +0000 (20:08 +0100)]
consistencychecker: print which event we received before stream-start
Tim-Philipp Müller [Mon, 6 Aug 2012 19:04:09 +0000 (20:04 +0100)]
basesrc: don't try to answer URI queries with NULL URIs
Should make unit tests in -base that use appsrc a bit happier.
Sebastian Dröge [Sun, 29 Jul 2012 12:25:34 +0000 (14:25 +0200)]
event: Update for stream-start event API changes
Sebastian Dröge [Sat, 28 Jul 2012 06:37:00 +0000 (08:37 +0200)]
event: Add new stream-id field to the stream-start event
This is supposed to allow uniquely identifying a single stream.
Edward Hervey [Fri, 27 Jul 2012 15:41:43 +0000 (17:41 +0200)]
inputselector: Use the first created pad by default
This guarantees a bit more consistency in which input stream will
be selected by default. It would previously be the first pad on which
an event/buffer/query was received ... which was racy and non-predictable.
Edward Hervey [Fri, 27 Jul 2012 15:38:34 +0000 (17:38 +0200)]
element: Specify the order of pad iterators
The order of returned pads wasn't specified before, so let's specify
it and use an order which might prove the most useful : the order in
which pads were added to the element.
If someone changes the order, make sure users of those iterators from
now on don't rely on that order !
Tim-Philipp Müller [Sun, 5 Aug 2012 16:16:27 +0000 (17:16 +0100)]
check: add tcase_skip_broken_test() define
Skips broken tests but logs an ERROR-level message to
draw attention to that fact.
Tim-Philipp Müller [Sun, 5 Aug 2012 16:12:35 +0000 (17:12 +0100)]
tests: update .gitignore for queuearray test binary
Tim-Philipp Müller [Sun, 5 Aug 2012 16:11:46 +0000 (17:11 +0100)]
tests: fix spurious netclientclock test failures
Give clocks a bit more time to synchronise.
Tim-Philipp Müller [Sun, 5 Aug 2012 15:59:35 +0000 (16:59 +0100)]
win32: update generated files
Tim-Philipp Müller [Sun, 5 Aug 2012 15:41:21 +0000 (16:41 +0100)]
input-selector: use generic marshaller for "block" action signal
Tim-Philipp Müller [Sun, 5 Aug 2012 15:37:24 +0000 (16:37 +0100)]
Automatic update of common submodule
From 94ccf4c to 668acee
Tim-Philipp Müller [Sat, 4 Aug 2012 12:37:32 +0000 (13:37 +0100)]
buffer, defaultmem: add option to poison memory before freeing it
Might be useful to track down certain bugs.
Tim-Philipp Müller [Fri, 3 Aug 2012 22:54:33 +0000 (23:54 +0100)]
gst: ref/unref taglist scope enum in gst_init()
Fixes make check and distcheck
Tim-Philipp Müller [Thu, 2 Aug 2012 23:05:53 +0000 (00:05 +0100)]
plugin: warn if plugin name starts with a "
This can easily happen as side-effect of the plugin name
in GST_PLUGIN_DEFINE no longer being a string in 0.11, but
a name to G_STRINGIFY.
Tim-Philipp Müller [Thu, 2 Aug 2012 12:19:27 +0000 (13:19 +0100)]
docs: update porting-to-0.11 document with a "soft" API changes checklist
Point out some API changes that the compiler won't
be able to warn about.
Tim-Philipp Müller [Thu, 2 Aug 2012 10:33:41 +0000 (11:33 +0100)]
tools: fix printing of partial dates in gst-launch
Tim-Philipp Müller [Thu, 2 Aug 2012 10:15:16 +0000 (11:15 +0100)]
Revert "tools: print TOC scope"
This reverts commit
ee6ab7c93638a6519acb976699a6ad149d520a95.
The application will probably only ever receive global TOCs,
so don't really need this.
Tim-Philipp Müller [Wed, 1 Aug 2012 16:49:27 +0000 (17:49 +0100)]
win32: add new tag list scope symbols
Tim-Philipp Müller [Wed, 1 Aug 2012 10:58:55 +0000 (11:58 +0100)]
typefind: send segment_done event in addition to segment_done message
Sebastian Dröge [Tue, 31 Jul 2012 15:25:50 +0000 (17:25 +0200)]
basesrc: Add default handler for URI query in GstURIHandler subclasses
Sjoerd Simons [Sat, 28 Jul 2012 15:33:52 +0000 (17:33 +0200)]
check: unbreak fail #define
The fail() definition was changed to not fail with non-GCC compilers,
unfortunately the change was incorrect and appended the first argument
of fail to the expression string instead of making it the message.
This change does mean that fail() now requires a message to be passed
along.
https://bugzilla.gnome.org/show_bug.cgi?id=680755
Jens Georg [Sun, 29 Jul 2012 21:37:19 +0000 (23:37 +0200)]
buffer: Update annotations
https://bugzilla.gnome.org/show_bug.cgi?id=680805
Jens Georg [Sun, 29 Jul 2012 21:20:07 +0000 (23:20 +0200)]
utils: Update annotation for get_compatible_pad
https://bugzilla.gnome.org/show_bug.cgi?id=680804
Thibault Saunier [Sun, 29 Jul 2012 01:23:24 +0000 (21:23 -0400)]
uri: Fix wrong 'array zero-terminated=1' annotation for strings
Tim-Philipp Müller [Sat, 28 Jul 2012 10:02:30 +0000 (11:02 +0100)]
docs: update TOC design docs a little
Tim-Philipp Müller [Sat, 28 Jul 2012 08:41:30 +0000 (09:41 +0100)]
event: make TOC event multi-sticky
We need to send two kinds of TOCs downstream as events,
and need both to stick to the pads.
https://bugzilla.gnome.org/show_bug.cgi?id=678742
Tim-Philipp Müller [Sat, 28 Jul 2012 07:30:36 +0000 (08:30 +0100)]
tools: print TOC scope
Tim-Philipp Müller [Fri, 27 Jul 2012 22:56:54 +0000 (23:56 +0100)]
toc: add GstTocScope and require it in the constructor
This is because we need to be able to signal different TOCs
to downstream elements such as muxers and the application,
and because we need to send both types as events (because
the sink should post the TOC messages for the app in the
end, just like tag messages are now posted by the sinks),
and hence need to make TOC events multi-sticky.
https://bugzilla.gnome.org/show_bug.cgi?id=678742
Tim-Philipp Müller [Fri, 27 Jul 2012 22:54:00 +0000 (23:54 +0100)]
scripts: create-uninstalled-setup.sh: check for basic build tools and deps
.. before checking out stuff.
Sebastian Dröge [Fri, 27 Jul 2012 21:52:12 +0000 (23:52 +0200)]
tag: Add a scope to taglists
This specifies if a given taglist applies to the complete
medium or only this specific stream. By default a taglist
has a stream scope.
Fixes bug #677619.
Wim Taymans [Fri, 27 Jul 2012 15:09:45 +0000 (17:09 +0200)]
segment: add offset field
Add an offset field that is used to track at what position the segment was
updated. This is used to set the running time to 0 when we do a flushing
seek that doesn't update the position.
See https://bugzilla.gnome.org/show_bug.cgi?id=680306
Wim Taymans [Fri, 27 Jul 2012 13:19:57 +0000 (15:19 +0200)]
Update for new seeking variable name
When seeking, the start value and type are now called start and start_type.
Wim Taymans [Fri, 27 Jul 2012 12:53:03 +0000 (14:53 +0200)]
segment: small cleanup
Move the code to update the segment at the end of the function.
Tim-Philipp Müller [Fri, 27 Jul 2012 11:05:25 +0000 (12:05 +0100)]
Update docs and .def file for taglist API change
Wim Taymans [Fri, 27 Jul 2012 11:02:52 +0000 (13:02 +0200)]
segment: remove redundant checks
We don't need to check the segment format anymore because we asserted on them
being equal before.
Wim Taymans [Fri, 27 Jul 2012 10:24:03 +0000 (12:24 +0200)]
tests: improve segment tests
Wim Taymans [Fri, 27 Jul 2012 10:12:37 +0000 (12:12 +0200)]
allocator: remove user_data from alloc vmethod
Remove the user_data from the alloc vmethod. Subclasses that implement a new
alloc function can also implement their own vmethod to pass extra arguments. We
can then also require that custom allocators implement an alloc function so that
gst_allocator_alloc() always works.
Wim Taymans [Fri, 27 Jul 2012 08:41:54 +0000 (10:41 +0200)]
tests: remove segment accumulation checks
Remove the checks because there is no more segment accumulation.
Tim-Philipp Müller [Thu, 26 Jul 2012 15:44:15 +0000 (16:44 +0100)]
taglist: make GST_TAG_APPLICATION_DATA also a GstSample
That way additional meta-data can be passed along with it.
Tim-Philipp Müller [Thu, 26 Jul 2012 14:51:10 +0000 (15:51 +0100)]
taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*()
Image tags and other tags are now of GstSample type.
Tim-Philipp Müller [Thu, 26 Jul 2012 14:26:09 +0000 (15:26 +0100)]
gst-launch: print image tags and other GstSample tags properly
These tags are now of type GstSample not GstBuffer.