Eunhae Choi [Fri, 3 Jun 2016 05:16:50 +0000 (14:16 +0900)]
disable unused plugins with tv featuring
Change-Id: I6c18f77c75d435a7ce17d48eb71e6a138c6654f6
Gilbok Lee [Wed, 23 Mar 2016 02:12:30 +0000 (11:12 +0900)]
Remove libmm-ta build dependency
Change-Id: I08f95b5d0f79a169ab999e1323e4bcce39fd0659
Signed-off-by: Gilbok Lee <gilbok.lee@samsung.com>
Hyunil [Tue, 16 Feb 2016 09:57:50 +0000 (18:57 +0900)]
fix x86 build error
Change-Id: I9ebb9b9c1b0b4f5897254a3da18314600702af6e
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Hyunil [Thu, 4 Feb 2016 01:07:24 +0000 (10:07 +0900)]
Add setting a global resource id of wl_surface referencing the wayland window
Change-Id: I0350d844cc3cd0440aebfb38fff4cbfb32b46c0e
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Eunhae Choi [Fri, 8 Jan 2016 08:07:16 +0000 (17:07 +0900)]
subparse: support multi track smi. sync with tizen2.4
Change-Id: Ifaa7e183fd0354e29734fe64fbf7958dbd82116a
Gilbok Lee [Fri, 8 Jan 2016 05:59:32 +0000 (14:59 +0900)]
Add x-msvideo:avi typefindfuction
Change-Id: I1e4a5d1d5a6e762b72c3c2886a36bae650499758
Signed-off-by: Gilbok Lee <gilbok.lee@samsung.com>
Gilbok Lee [Tue, 5 Jan 2016 09:42:02 +0000 (18:42 +0900)]
Remove unused typefindfunction
Change-Id: I81c6eeeb71405a6ebeae944cab4792c5d7c40f34
Signed-off-by: Gilbok Lee <gilbok.lee@samsung.com>
Gilbok Lee [Tue, 29 Dec 2015 06:41:23 +0000 (15:41 +0900)]
Change license name and don't install GPL license
Change-Id: I126c3e3cceacd3619cf39dcaa77158610e642061
Signed-off-by: Gilbok Lee <gilbok.lee@samsung.com>
Heechul Jeon [Tue, 15 Dec 2015 01:33:34 +0000 (17:33 -0800)]
Merge "Fixing caps negotiation issue in videoconvert Adding review comments." into tizen
Barun Kumar Singh [Fri, 11 Dec 2015 11:23:23 +0000 (16:53 +0530)]
Fixing caps negotiation issue in videoconvert
Adding review comments.
Signed-off-by: Barun Kr. Singh <barun.singh@samsung.com>
Change-Id: I92340394b460496c6b66e34496a88cc8d8caa54f
Eunhae Choi [Mon, 14 Dec 2015 08:23:21 +0000 (17:23 +0900)]
modify spec file about build require
Change-Id: I09f319b1b6315b02a2ff4687a237d484aa76f1c8
Eunhae Choi [Mon, 7 Dec 2015 11:19:33 +0000 (20:19 +0900)]
cleanup spec file and resolve cyclic dependency
Change-Id: I10980051565940070a30fb7b2e09043f79283c45
Hyunil [Tue, 1 Dec 2015 01:34:26 +0000 (10:34 +0900)]
Add bcond_with_x for werable profile
Change-Id: Icb7b35110c5ed1480d1737735862b6ce49858b91
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Eunhae Choi [Wed, 25 Nov 2015 09:23:00 +0000 (18:23 +0900)]
modify spec to build and merge prev modification
Change-Id: Ib734007ed572a73143b111427c22fa8df87051a3
Eunhae Choi [Wed, 25 Nov 2015 08:33:31 +0000 (17:33 +0900)]
Merge remote-tracking branch 'remotes/origin/upstream/1.6' into tizen
Change-Id: If30239008ea7e89207ddc42df363724555dc9d55
Csaba Toth [Mon, 26 Oct 2015 20:32:41 +0000 (21:32 +0100)]
multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
in its definition leading to problems on platforms where the size
of a pointer is larger than the size of an integer, It would also
not work at all with dynamic language bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=757155
Joan Pau Beltran [Wed, 28 Oct 2015 17:36:41 +0000 (18:36 +0100)]
videotestsrc: fix handling of Bayer format 'gbrg'
Due to a typo, videotestsrc did not handle the Bayer
format 'gbrg' properly and reported it as invalid,
causing negotiation errors.
https://bugzilla.gnome.org/show_bug.cgi?id=757264
Sebastian Dröge [Fri, 30 Oct 2015 14:38:48 +0000 (16:38 +0200)]
Release 1.6.1
Sebastian Dröge [Fri, 30 Oct 2015 14:22:09 +0000 (16:22 +0200)]
Update .po files
Sebastian Dröge [Fri, 30 Oct 2015 12:27:21 +0000 (14:27 +0200)]
po: Update translations
Wim Taymans [Wed, 28 Oct 2015 10:32:57 +0000 (11:32 +0100)]
audioquantize: fix 8-pole noise shaping
Fix the 8-pole noise shaping error update. We were mixing errors from
different channels.
Sebastian Dröge [Tue, 27 Oct 2015 13:44:06 +0000 (15:44 +0200)]
decodebin: Send SEEK events directly to adaptive streaming demuxers
This makes sure that they will always get SEEK events, even if we're currently
in the middle of a group switch (i.e. switching to another
representation/bitrate/etc).
https://bugzilla.gnome.org/show_bug.cgi?id=606382
Eunhae Choi [Mon, 26 Oct 2015 10:43:33 +0000 (19:43 +0900)]
remove buildrequire to resolve cyclic dependency : pango, pangocairo
Change-Id: If69febff658b7d48f841ace643490d85185e7435
Guillaume Desmottes [Tue, 6 Oct 2015 13:20:51 +0000 (15:20 +0200)]
decodebin: fix event leak
As stated in GST_PAD_PROBE_HANDLED's documentation, we are
supposed to unref the event before returning.
Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop
validate scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=754459
Sebastian Dröge [Fri, 23 Oct 2015 09:02:28 +0000 (12:02 +0300)]
playbin: Send upstream events directly to playsink
Send event directly to playsink instead of letting GstBin iterate
over all sink elements. The latter might send the event multiple times
in case the SEEK causes a reconfiguration of the pipeline, as can easily
happen with adaptive streaming demuxers.
What would then happen is that the iterator would be reset, we send the
event again, and on the second time it will fail in the majority of cases
because the pipeline is still being reconfigured
Pavel Bludov [Thu, 22 Oct 2015 04:07:44 +0000 (12:07 +0800)]
video: overlay-composition: fix rectangle and composition cast macros
Closing parenthesis was missing in two cases.
https://bugzilla.gnome.org/show_bug.cgi?id=756893
Sebastian Dröge [Tue, 20 Oct 2015 09:08:23 +0000 (12:08 +0300)]
rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1
Matthew Waters [Thu, 15 Oct 2015 23:48:50 +0000 (10:48 +1100)]
win32 update exports for new rtp symbols
Stian Selnes [Wed, 22 Jul 2015 09:31:05 +0000 (11:31 +0200)]
rtpbuffer: Add map flag to skip padding
Encrypted RTP buffers may contain encrypted padding, hence it's
necessary to have an option to relax the validation in order to
successfully map the buffer.
When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set
gst_rtp_buffer_map() will map the buffer like if padding is not
present.
https://bugzilla.gnome.org/show_bug.cgi?id=752705
eunhae choi [Mon, 14 Sep 2015 06:25:11 +0000 (15:25 +0900)]
audiobasesink: fix issue about eos handling during flushing
If the flush-start is arrived during _eos_wait() in basesink,
the 'eos' flag is overwritten to TRUE after exiting the _eos_wait().
To resolve the overwritten issue,
the subclass doing the _eos_wait() call should return the right value.
If the eos flag is set to TRUE again, it will cause error(enter the eos flow)
of the following state changing from PAUSED to PLAYING in basesink.
https://bugzilla.gnome.org/show_bug.cgi?id=754980
Sebastian Dröge [Sat, 17 Oct 2015 18:47:07 +0000 (21:47 +0300)]
playbin/uridecodebin: Always post async-done immediately if we're a live pipeline
Not only if the base class told us, but also if one of our own elements did.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
Sebastian Dröge [Sat, 17 Oct 2015 19:25:22 +0000 (22:25 +0300)]
decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
https://bugzilla.gnome.org/show_bug.cgi?id=756611
Sebastian Dröge [Sat, 17 Oct 2015 19:20:31 +0000 (22:20 +0300)]
playsink: Immediately error out if state change fails
Otherwise we chain up to the parent class' change_state function and might
override the failure with SUCCESS.
https://bugzilla.gnome.org/show_bug.cgi?id=756611
Sebastian Dröge [Sat, 17 Oct 2015 17:36:27 +0000 (20:36 +0300)]
video: Add out annotations to the out parameters of gst_video_calculate_display_ratio()
https://bugzilla.gnome.org/show_bug.cgi?id=754567
Vineeth TM [Thu, 15 Oct 2015 01:01:38 +0000 (10:01 +0900)]
playsink: Fix volume element leak
In case sink implements a streamvolume interface, volume element is being got
from the sink. But this is transfer full. So the memory should be freed before
setting it to NULL. This was resulting in major memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=755867
Sebastian Dröge [Tue, 13 Oct 2015 21:32:11 +0000 (00:32 +0300)]
alsa: Use 8 bit pointer type for byte-based pointer arithmetic
Usually these loops only run once, so there's no problem here. But sometimes
they run twice, and by adding the number of bytes to a 16 bit pointer type we
would advance twice as much as we should.
Also use snd_pcm_frames_to_bytes() in alsasrc to calculate
the number of bytes to skip, same as we do in alsasink.
Thanks to Lucio A. Hernandez <lucio.a.hernandez@gmail.com> for reporting.
Sebastian Dröge [Sun, 4 Oct 2015 17:36:00 +0000 (18:36 +0100)]
xvimagesink: Put error message into debug output instead of just throwing it away
Rajat Verma [Tue, 29 Sep 2015 04:42:28 +0000 (10:12 +0530)]
decodebin: free hidden groups at time of switching groups
hidden groups should be freed at time of switching groups to avoid memory use
from balloning up.
https://bugzilla.gnome.org/show_bug.cgi?id=755770
Tim-Philipp Müller [Wed, 30 Sep 2015 17:17:13 +0000 (18:17 +0100)]
subparse: detect closing tags even if there's a space after the slash
</ i> should be handled like </i>
https://bugzilla.gnome.org/show_bug.cgi?id=755875
Perry Hung [Wed, 23 Sep 2015 15:59:22 +0000 (11:59 -0400)]
app: pass PKG_CONFIG_PATH for gir files for libgstapp as well
gir include search directories should respect PKG_CONFIG_PATH,
just like we do everywhere else. Makes g-i pick up the right
paths when using ./configure --with-pkg-config-path=
https://bugzilla.gnome.org/show_bug.cgi?id=755494
Sebastian Dröge [Fri, 25 Sep 2015 21:15:20 +0000 (23:15 +0200)]
Release 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 20:50:51 +0000 (22:50 +0200)]
Update .po files
Sebastian Dröge [Thu, 24 Sep 2015 16:06:58 +0000 (18:06 +0200)]
video-dither: Use saturated add when adding ordered dither for > 8 bit targets
Otherwise our 16 bit integers are going to overflow in intermediate
calculations, causing video to become mostly black.
https://bugzilla.gnome.org/show_bug.cgi?id=755392
Sebastian Dröge [Thu, 24 Sep 2015 09:33:24 +0000 (11:33 +0200)]
video-frame: Fix gst_video_frame_copy() for formats with pstride==0
v210, UYVP and IYU1 are complex formats for which pixel stride does not really
have a meaning. If we copy width*pstride bytes per line, it's not going to do
the right thing. As a fallback, copy stride bytes per line. This might copy
uninitialized bytes at the end of each line, but at least copies the frame.
https://bugzilla.gnome.org/show_bug.cgi?id=755392
Aurélien Zanelli [Thu, 10 Sep 2015 13:08:35 +0000 (15:08 +0200)]
fdmemory: remove 'allow-none' annotation in gst_fd_allocator_alloc() doc
gst_fd_allocator_alloc() ensure that passed allocator is a fd memory
allocator, so that we can't pass NULL allocator.
https://bugzilla.gnome.org/show_bug.cgi?id=754833
Aurélien Zanelli [Thu, 10 Sep 2015 13:08:35 +0000 (15:08 +0200)]
dmabuf: remove 'allow-none' annotation in gst_dmabuf_allocator_alloc() doc
gst_dmabuf_allocator_alloc() ensure that passed allocator is a DMABuf
allocator, so that we can't pass NULL allocator.
https://bugzilla.gnome.org/show_bug.cgi?id=754833
Sebastian Dröge [Fri, 18 Sep 2015 17:20:00 +0000 (19:20 +0200)]
Release 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 17:19:16 +0000 (19:19 +0200)]
Update .po files
Christophe Fergeau [Fri, 18 Sep 2015 15:48:49 +0000 (17:48 +0200)]
appsink: Fix 'steaming' typo in API doc
There are several occurrences of 'steaming' where 'streaming' was meant.
Sebastian Dröge [Fri, 18 Sep 2015 09:49:59 +0000 (11:49 +0200)]
po: Update translations
Ravi Kiran K N [Fri, 18 Sep 2015 05:29:46 +0000 (10:59 +0530)]
playback-test: avoid critical on exit
Only free vis_entries array when not null on exit.
https://bugzilla.gnome.org/show_bug.cgi?id=755201
Prashant Gotarne [Fri, 18 Sep 2015 04:18:18 +0000 (09:48 +0530)]
basetextoverlay: fix typo in debug log message
https://bugzilla.gnome.org/show_bug.cgi?id=755198
Vineeth T M [Thu, 17 Sep 2015 05:27:33 +0000 (14:27 +0900)]
audiosink, multisocketsink: Fix error leak during failures
https://bugzilla.gnome.org/show_bug.cgi?id=755143
Sebastian Dröge [Wed, 16 Sep 2015 17:53:35 +0000 (19:53 +0200)]
uridecodebin: Use the correct caps name for MS Smooth Streaming manifests
Thanks to John Chang <r97922153@gmail.com> for reporting.
https://bugzilla.gnome.org/show_bug.cgi?id=755098
Tim-Philipp Müller [Tue, 15 Sep 2015 14:26:44 +0000 (15:26 +0100)]
appsink: minor docs fix
Tim-Philipp Müller [Fri, 11 Sep 2015 22:36:47 +0000 (23:36 +0100)]
videopool: ensure allocation alignment is consistent with video alignment requirements
Make sure GstAllocationParams alignment is not less than
any alignment requirement specified via GstVideoAlignment.
https://bugzilla.gnome.org/show_bug.cgi?id=754120
Vineeth TM [Mon, 14 Sep 2015 00:36:20 +0000 (09:36 +0900)]
xvimagesink: fix error leak when context creation fails
When context creation fails, error is getting leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=754973
Sebastian Dröge [Fri, 11 Sep 2015 21:28:37 +0000 (23:28 +0200)]
playback: Add POINTER_TO_ULONG() macro for consistency
Kouhei Sutou [Fri, 11 Sep 2015 14:48:05 +0000 (23:48 +0900)]
playback: fix build error for 64bit Windows build by MinGW
Casting to gpointer from gulong generates the following warning with
64bit Windows target MinGW:
gstplaybin2.c: In function 'pad_added_cb':
gstplaybin2.c:3476:7: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
(gpointer) group_id_probe_handler);
^
cc1: all warnings being treated as errors
We should cast to guintptr from gulong before we cast to gpointer.
https://bugzilla.gnome.org/show_bug.cgi?id=754755
Thiago Santos [Wed, 9 Sep 2015 22:00:33 +0000 (19:00 -0300)]
video-format: add missing alpha flag for some formats
Some formats didn't have the alpha flag marked, use the correct
macro so they get it right.
https://bugzilla.gnome.org/show_bug.cgi?id=754808
Sebastian Dröge [Wed, 9 Sep 2015 09:33:02 +0000 (12:33 +0300)]
appsrc: Always take the mutex before flushing the queue
Otherwise the application might push new buffers into the queue while we're
flushing, potentially causing the GQueue data structure to become inconsistent
and causing crashes soon after.
https://bugzilla.gnome.org/show_bug.cgi?id=754597
Vikram Fugro [Mon, 7 Sep 2015 20:05:19 +0000 (01:35 +0530)]
appsrc: retain the latest caps in queue when flushing
- Retain the latest caps in the internal queue, when
flushing.
- Add a unit test case for the same.
https://bugzilla.gnome.org/show_bug.cgi?id=754597
Tim-Philipp Müller [Sun, 6 Sep 2015 23:19:09 +0000 (00:19 +0100)]
video: improve GstVideoFormatUnpack docs
https://bugzilla.gnome.org/show_bug.cgi?id=754650
Kouhei Sutou [Sun, 6 Sep 2015 09:17:15 +0000 (18:17 +0900)]
libs: Fix build error on MinGW where "%ll" is not available
"ll" isn't available on MinGW. We can use G_GINT64_MODIFIER for portable
64bit size data modifier.
https://bugzilla.gnome.org/show_bug.cgi?id=754630
Havard Graff [Mon, 31 Aug 2015 08:46:43 +0000 (10:46 +0200)]
libs: build rtp after audio
The dependency setup does not seem to work for all systems,
causing the build to fail with:
gstrtpbaseaudiopayload.c:65:0:
fatal error: gst/audio/audio-enumtypes.h: No such file or directory
My setup:
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
autoconf (GNU Autoconf) 2.69
automake (GNU automake) 1.14.1
libtool (GNU libtool) 2.4.2
https://bugzilla.gnome.org/show_bug.cgi?id=754344
Tim-Philipp Müller [Mon, 31 Aug 2015 09:49:41 +0000 (10:49 +0100)]
libs: rtp is no longer an independent subdir
https://bugzilla.gnome.org/show_bug.cgi?id=754344
Wim Taymans [Thu, 3 Sep 2015 15:55:10 +0000 (17:55 +0200)]
videoscale: fix gamma-decode option
We need to use the enum to configure the option now.
Prashant Gotarne [Thu, 3 Sep 2015 03:28:08 +0000 (08:58 +0530)]
basetextoverlay: FIX crash if padding greater than video size
Skipping rendering of textimage if overlay is completely
outside video frame.
https://bugzilla.gnome.org/show_bug.cgi?id=754429
Philippe Normand [Mon, 31 Aug 2015 09:09:09 +0000 (11:09 +0200)]
appsrc: remove duplicate get_size vfunc assignment
George Kiagiadakis [Sat, 29 Aug 2015 19:38:52 +0000 (21:38 +0200)]
allocators: include gstfdmemory.h in the main library header, allocators.h
Tim-Philipp Müller [Sat, 29 Aug 2015 09:44:28 +0000 (10:44 +0100)]
audiobasesink: fix misleading error message debug detail
https://bugzilla.gnome.org/show_bug.cgi?id=754260
Thiago Santos [Fri, 28 Aug 2015 12:36:15 +0000 (09:36 -0300)]
playsinkconvertbin: implement accept-caps handler
The default one will just go through the internal elements which might
just be identity when it is in passthrough which will lead to the query
being handled by the downstream sink, ignoring all that playsinkconvertbin
could actually handle and convert.
https://bugzilla.gnome.org/show_bug.cgi?id=754235
Carlos Rafael Giani [Thu, 27 Aug 2015 21:08:51 +0000 (23:08 +0200)]
audiobasesink: Fix incorrect/missing custom slaving method documentation
https://bugzilla.gnome.org/show_bug.cgi?id=754199
Joungkook Seo [Tue, 25 Aug 2015 00:24:05 +0000 (09:24 +0900)]
[gstaduiodecoder] Fixed Bug for the case of receiving unsupported non TIME newsegment
Modify audiodecoder sink event the same as videodecoder logic.
Change-Id: Ia8c4c0c2b55fe6934def573ee5465e44beb62ae8
Signed-off-by: Joungkook Seo <jk7704.seo@samsung.com>
Barun Kumar Singh [Tue, 4 Aug 2015 10:32:27 +0000 (16:02 +0530)]
Adding conditional compilation for SN12 conversion and tbm buffers.
Signed-off-by: Barun Kumar Singh <barun.singh@samsung.com>
Change-Id: I45ed1ccb347162eed8a894ab000bb86bc5e3742d
Eunhae Choi [Wed, 19 Aug 2015 12:19:05 +0000 (21:19 +0900)]
subparse: use g_clear_error instead of g_error_free
To avoid invalid pointer accees the err pointer should be set to NULL.
By using g_clear_error() it calls free and clear the pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=753817
Sebastian Dröge [Wed, 19 Aug 2015 10:10:23 +0000 (13:10 +0300)]
Release 1.5.90
Sebastian Dröge [Wed, 19 Aug 2015 09:39:17 +0000 (12:39 +0300)]
Update .po files
Sebastian Dröge [Wed, 19 Aug 2015 08:23:09 +0000 (11:23 +0300)]
po: Update translations
Vineeth TM [Tue, 18 Aug 2015 23:37:46 +0000 (08:37 +0900)]
tools: discoverer: When info is NULL just print error and return
In case discover_uri returns NULL info, passing the info to discoverer APIs
result in critical assertion errors. Hence instead of passing NULL info along,
print the error and return.
https://bugzilla.gnome.org/show_bug.cgi?id=753701
Sebastian Dröge [Tue, 18 Aug 2015 15:47:22 +0000 (18:47 +0300)]
Revert "decodebin: Handle the preroll multi-queue size"
This reverts commit
5c8ef0ea05123506dfc35c70c8b165bca7435dad.
Sebastian Dröge [Tue, 18 Aug 2015 15:47:21 +0000 (18:47 +0300)]
Revert "decodebin: Store extra_buffer_required per group, not globally"
This reverts commit
1ea81114ea6bd48b581f19002018680933aa7a12.
Sebastian Dröge [Tue, 18 Aug 2015 15:47:18 +0000 (18:47 +0300)]
Revert "decodebin: If extra buffers are going to be required, we're still prerolling"
This reverts commit
a3b24f0241bd55a005a072ba8ddcd53e0fdbf827.
Sebastian Dröge [Tue, 18 Aug 2015 13:28:42 +0000 (16:28 +0300)]
video(en|de)coder: Return TRUE when we consumed a tag event without creating a new event
Fixes spurious flow errors that especially break gst-validate.
Sebastian Dröge [Tue, 18 Aug 2015 13:01:28 +0000 (16:01 +0300)]
audiodecoder: If there are no tags, don't try to do event handling on a NULL event
Fixes some crashes.
Sebastian Dröge [Tue, 18 Aug 2015 12:58:57 +0000 (15:58 +0300)]
audioencoder: If there are no tags, don't try to do event handling on a NULL event
Fixes some crashes.
Vivia Nikolaidou [Tue, 18 Aug 2015 10:50:17 +0000 (13:50 +0300)]
tools: gst-play: Use g_build_filename instead of g_strconcat
When running gst-play against a directory name, and suffix the path with a
directory separator (e.g. tab completion), gst-play was printing two directory
separators in a row. g_build_filename fixes this, and additionally allows for
both '/' and '\' as separators on Windows.
Sebastian Dröge [Tue, 18 Aug 2015 12:16:25 +0000 (15:16 +0300)]
decodebin: If extra buffers are going to be required, we're still prerolling
Sebastian Dröge [Tue, 18 Aug 2015 12:01:33 +0000 (15:01 +0300)]
decodebin: Store extra_buffer_required per group, not globally
It's only relevant for each group, and by storing it in the group
we have locking and everything else like for the other buffering-related
variables. Locking looks a bit fishy still, but it was like that for a long
time already so shouldn't be worse than before.
Myoungsun Lee [Thu, 30 Jul 2015 01:33:25 +0000 (10:33 +0900)]
decodebin: Handle the preroll multi-queue size
Overview:
There are some of interleaved streams which has long-term location of audio data.
It mean the audio data is located far away more than multiqueue size.
In this case, because of multiqueue overrun, the pipeline is stopped.
To prevent hanging-like state, the decodebin needs to handle the queue size.
Caused:
The multiqueue size is not enough, the pipeline will stay being stalled status
and decodebin cannot complete to build decode chain.
In this issue file, decodebin did not receive no_more_pads signal or audio data yet.
Steps to Reproduce:
play the high-resolution(4K file) files or some streaming media(push mode).
Actual Results:
There is no audio or subtitle.
We can see only video or infinite loading.
Resolution:
Decodebin detect this problem, and add extra buffer size to multiqueue.
The multiqueue is larger than before, the next data can be pushed the downstream element.
Additional Information:
The max-preroll extra buffer size is set 8MB.
We can use total pre-roll buffer 10MB.
Only first overrun callback can handle multiqueue size.
https://bugzilla.gnome.org/show_bug.cgi?id=733235
Tim-Philipp Müller [Tue, 18 Aug 2015 11:29:29 +0000 (12:29 +0100)]
videoencoder: fix tag handling
Merge upstream tags with encoder tags and update whenever
any of those changes.
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Tim-Philipp Müller [Tue, 18 Aug 2015 10:45:24 +0000 (11:45 +0100)]
audioencoder: fix tag handling
Merge upstream tags with encoder tags and update whenever
any of those changes.
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Sebastian Dröge [Tue, 18 Aug 2015 09:56:33 +0000 (12:56 +0300)]
typefindfunctions: Add typefinder for TTML+XML
Used in DASH among other things, as SMPTE Timed Text.
Vineeth TM [Tue, 18 Aug 2015 00:06:39 +0000 (09:06 +0900)]
pbutils: discoverer: Set GError when NULL info is being returned.
When discovering the URI, if info is NULL, then instead of just returning NULL,
set the GError, so the error can be printed and notified.
https://bugzilla.gnome.org/show_bug.cgi?id=753701
Vineeth TM [Mon, 17 Aug 2015 02:18:25 +0000 (11:18 +0900)]
discoverer: free context and error during failures
When g_option_context_parse or gst_discoverer_new fails, then there will
be memory leaks for ctx and err variables. Free'ing the same.
https://bugzilla.gnome.org/show_bug.cgi?id=753701
Tim-Philipp Müller [Sun, 16 Aug 2015 17:28:09 +0000 (18:28 +0100)]
audiodecoder: try harder to avoid sending unnecessary tag updates
Tim-Philipp Müller [Sun, 16 Aug 2015 16:55:22 +0000 (17:55 +0100)]
videodecoder: fix tag handling
Before we just merged everything in pretty much random ways
ad-hoc instead of keeping state properly. In 0.10 that was
how it worked, but in 1.x the tag events sent should always
reflect the latest state and replace any previous tags.
So save the upstream (stream) tags, and save the tags set
by the decoder subclass with merge mode, and then update
the merged tags whenever either of those two changes.
This slightly changes the behaviour of gst_video_decoder_merge_tags()
in case it is called multiple times, since now any call replaces
the previously-set tags. However, it leads to much more predictable
outcomes, and also we are not aware of any subclass which sets this
multiple times and expects all the tags set to be merged.
If more complex tag merging scenarios are required, we'll have
to add a new vfunc for that or the subclass has to intercept
the upstream tags itself and send merged tags itself.
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Tim-Philipp Müller [Fri, 14 Aug 2015 16:59:29 +0000 (17:59 +0100)]
tests: audiodecoder: add unit test for tag handling
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Tim-Philipp Müller [Fri, 14 Aug 2015 16:44:59 +0000 (17:44 +0100)]
audiodecoder: fix tag handling
Before we just merged everything in pretty much random ways
ad-hoc instead of keeping state properly. In 0.10 that was
how it worked, but in 1.x the tag events sent should always
reflect the latest state and replace any previous tags.
So save the upstream (stream) tags, and save the tags set
by the decoder subclass with merge mode, and then update
the merged tags whenever either of those two changes.
This slightly changes the behaviour of gst_audio_decoder_merge_tags()
in case it is called multiple times, since now any call replaces
the previously-set tags. However, it leads to much more predictable
outcomes, and also we are not aware of any subclass which sets this
multiple times and expects all the tags set to be merged.
If more complex tag merging scenarios are required, we'll have
to add a new vfunc for that or the subclass has to intercept
the upstream tags itself and send merged tags itself.
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Thiago Santos [Sun, 16 Aug 2015 01:23:15 +0000 (22:23 -0300)]
vorbisenc: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough