Sebastian Dröge [Sun, 13 Mar 2016 11:59:25 +0000 (13:59 +0200)]
multihandlesink: Remove useless streamheader storage
We don't do anything with it but always get them from the caps anyway, so
stop storing them and having complicated logic around that.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Sebastian Dröge [Sun, 13 Mar 2016 08:51:30 +0000 (10:51 +0200)]
multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps
And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
puts the HEADER flag on its keyframes.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Sebastian Dröge [Sat, 12 Mar 2016 17:47:47 +0000 (19:47 +0200)]
decodebin: expose_pad() is always called with lock==TRUE, simplify code
This basically reverts
ee44337fc3e3030a5155d28b3561af157e6c6003 .
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sat, 12 Mar 2016 17:46:44 +0000 (19:46 +0200)]
decodebin: Don't check twice if the decode chain is complete in pad_added_cb()
expose_pad() already does the same.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sat, 12 Mar 2016 17:45:26 +0000 (19:45 +0200)]
decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
In other places we lock it the other way around, leading to possible
deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
autoplugged that adds new pads on itself when its state is changed.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sun, 13 Mar 2016 08:58:54 +0000 (10:58 +0200)]
tcp: Remove unused file
It's a copy of multihandlesink, but completely outdated. Let's get rid of it
before it gets even more outdated.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Lubosz Sarnecki [Tue, 8 Mar 2016 18:22:34 +0000 (19:22 +0100)]
basetextoverlay: Add new properties and alignment type for unclamped absolute positions
Introduces [x-absolute, y-absolute] properties
for positioning in +/- MAX_DOUBLE range.
Adds new (h/v)alignment type "absolute" where coordinates
map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:
[0, 0]: Top-Lefts of video and text are aligned
[0.5, 0.5]: Centers are aligned
[1, 1]: Bottom-Rights are aligned
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Tim-Philipp Müller [Fri, 11 Mar 2016 13:15:03 +0000 (13:15 +0000)]
Revert "textoverlay: Do not limit positioning to video area."
This reverts commit
a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.
This changed behaviour in a way that's not always
backwards-compatible.
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Nirbheek Chauhan [Wed, 24 Feb 2016 23:37:04 +0000 (05:07 +0530)]
win32: Add a module definitions file for gstfft
Tim-Philipp Müller [Wed, 9 Mar 2016 09:56:52 +0000 (09:56 +0000)]
theora: fix performance category initialisation
Remove unused _register() functions and look up the performance
debug category in a function that's actually called at some point.
Wim Taymans [Fri, 4 Mar 2016 16:13:59 +0000 (17:13 +0100)]
audio-channel-mixer: improve non-interleaved flags
Make separate flags for non-interleaved input and output because the
channel mixer should be able to convert between the two layouts in the
future.
Vincent Penquerc'h [Fri, 4 Mar 2016 12:12:56 +0000 (12:12 +0000)]
gst-play: remove peculiar setting of invalid -v property
Vincent Penquerc'h [Fri, 5 Feb 2016 14:14:37 +0000 (14:14 +0000)]
oggdemux: fix chaining causing running time to restart from 0
This fixes:
gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg
https://bugzilla.gnome.org/show_bug.cgi?id=758282
Havard Graff [Thu, 3 Mar 2016 19:10:17 +0000 (20:10 +0100)]
opusdec: plug caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=763059
Sebastian Dröge [Wed, 2 Mar 2016 18:47:42 +0000 (20:47 +0200)]
Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
This reverts commit
0615794300234e3efbcb49a524efdee11171ab4c.
deinterlace was ported at some point in the last 4 years and has better video
format support, and especially better negotiation than avdeinterlace. Having
avdeinterlace but not deinterlace causes various problems in zerocopy
scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=760553
Sebastian Dröge [Wed, 2 Mar 2016 16:47:23 +0000 (18:47 +0200)]
encodebin: Make dispose() function safe to be called multiple times
Sebastian Dröge [Tue, 1 Mar 2016 16:14:54 +0000 (18:14 +0200)]
Release 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 14:53:05 +0000 (16:53 +0200)]
po: Update translations
Tom Deseyn [Thu, 28 Jan 2016 15:26:47 +0000 (16:26 +0100)]
multisocketsink: handle client close correctly and EWOULDBLOCK
Fixes 100% cpu usage when client disconnects. Commit
6db2ee56
would just make multisocketsink ignore reads of 0 bytes without
removing the client, so we'd get woken up over and over again
for the client.
Fix the original issue differently by handling the non-fatal error code.
https://bugzilla.gnome.org/show_bug.cgi?id=761257
https://bugzilla.gnome.org/show_bug.cgi?id=743834
Tim-Philipp Müller [Sat, 27 Feb 2016 00:11:02 +0000 (00:11 +0000)]
video: update disted orc backup file
https://bugzilla.gnome.org/show_bug.cgi?id=761851
Göran Jönsson [Thu, 11 Feb 2016 10:27:57 +0000 (11:27 +0100)]
video-converter: add direct UYVY to GRAY8 conversion function
https://bugzilla.gnome.org/show_bug.cgi?id=761851
Vincent Penquerc'h [Thu, 4 Feb 2016 16:01:00 +0000 (16:01 +0000)]
opus: fix mono<->stereo up/down-mixing
https://bugzilla.gnome.org/show_bug.cgi?id=761588
Lim Siew Hoon [Fri, 26 Feb 2016 09:09:06 +0000 (17:09 +0800)]
pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
They are converted into <para></para> by gtk-doc...
https://bugzilla.gnome.org/show_bug.cgi?id=762674
Sebastian Dröge [Fri, 26 Feb 2016 10:41:01 +0000 (12:41 +0200)]
Automatic update of common submodule
From b64f03f to 6f2d209
Tim-Philipp Müller [Fri, 26 Feb 2016 00:53:05 +0000 (00:53 +0000)]
opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
They have been replaced by "audio-type" and "bitrate-type".
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Fri, 26 Feb 2016 00:37:57 +0000 (00:37 +0000)]
docs: add Opus to docs
Tim-Philipp Müller [Fri, 26 Feb 2016 00:20:10 +0000 (00:20 +0000)]
opus: move Opus audio decoder and encoder from -bad to -base
Hook into build system after moving history.
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Thu, 25 Feb 2016 23:51:42 +0000 (23:51 +0000)]
Merge branch 'plugin-move-opus'
Move Opus decoder and encoder from -bad to -base.
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Thu, 25 Feb 2016 23:13:39 +0000 (23:13 +0000)]
tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
< and > are composed with shift + something else on many keyboards
layouts, so don't work well when injecting them via windowing systems
which will send them as shift key press and separate other key, and
we the don't combine that to < or > properly. n/b are easier.
Sebastian Dröge [Thu, 25 Feb 2016 22:02:49 +0000 (00:02 +0200)]
audiovisualizer: Use the library instead of including the source file
Fixes build now that the shader enum GType has moved to a different file.
Sebastian Dröge [Thu, 25 Feb 2016 18:39:04 +0000 (20:39 +0200)]
audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
That happens automatically already anyway.
Tim-Philipp Müller [Thu, 25 Feb 2016 17:46:31 +0000 (17:46 +0000)]
video: flesh out docs for gst_video_frame_map()
Luis de Bethencourt [Thu, 25 Feb 2016 10:47:17 +0000 (10:47 +0000)]
visual: correct type name
Base class type name should not reference libvisual since not all child
elements use this. This was an oversight when merging audiovisualizers into
a common base class.
Wim Taymans [Wed, 24 Feb 2016 13:05:03 +0000 (14:05 +0100)]
audio-quantize: fix feedback dither
Make sure we allocated enough extra space in the error buffer to
store the feedback error.
Wim Taymans [Wed, 24 Feb 2016 11:54:39 +0000 (12:54 +0100)]
audio-converter: perform dithering on the current format
Use the current (intermediate) format to decide how to set up dithering
instead of the input format.
Sebastian Dröge [Tue, 23 Feb 2016 16:23:45 +0000 (18:23 +0200)]
rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully
Edward Hervey [Tue, 23 Feb 2016 08:35:14 +0000 (09:35 +0100)]
Revert "playsink: Properly mark pending blocked pads"
This reverts commit
62053852de01fb324a915b27c00f5b8dc0f66fb3.
The issue that the patch fixes is only noticeable when using decodebin3,
which isn't yet in master.
Adam Miartus [Thu, 10 Dec 2015 14:32:06 +0000 (15:32 +0100)]
tag: id3v2: read conductor tag
ID3v2 features the TPE3 info frame, which contains information
about the conductor.
https://bugzilla.gnome.org/show_bug.cgi?id=762451
Tim-Philipp Müller [Sat, 20 Feb 2016 11:31:43 +0000 (11:31 +0000)]
Fix use of undeclared core debug category symbols
libgstreamer currently exports some debug category
symbols GST_CAT_*, but those are not declared in any
public headers.
Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
to declare and use those, but that's just not right at
all, and it won't work on Windows with MSVC. Instead look
up the categories via the API.
Tim-Philipp Müller [Sat, 20 Feb 2016 10:05:17 +0000 (10:05 +0000)]
win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
Sebastian Dröge [Fri, 19 Feb 2016 10:38:24 +0000 (12:38 +0200)]
Back to development
Sebastian Dröge [Fri, 19 Feb 2016 09:48:30 +0000 (11:48 +0200)]
Release 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 08:31:05 +0000 (10:31 +0200)]
po: Update translations
Julien Isorce [Thu, 18 Feb 2016 14:31:28 +0000 (14:31 +0000)]
uninstalled.pc: add support for non libtool build systems
Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.
So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.
This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
gstreamer-video-1.0)
Previously it required to prepend libtool --mode=link
https://bugzilla.gnome.org/show_bug.cgi?id=720778
Reynaldo H. Verdejo Pinochet [Sat, 23 Jan 2016 02:26:01 +0000 (18:26 -0800)]
typefind: strengthen check for valid H.263 picture layer
Avoids some false positives leading to miss identification:
* Prevent picture start code emulation for the first 2 bytes read
* Add check for valid "picture coding type" and "PB-frames mode" combination
Additionally, change name on confusingly named TR var to what
it is, the layer's PTYPE.
https://bugzilla.gnome.org/show_bug.cgi?id=693263
Vineeth T M [Mon, 23 Nov 2015 06:06:02 +0000 (15:06 +0900)]
decodebin: return incomplete topology if decode chains' cap could not be obtained
When getting caps of the decode chain, in get_topology, the caps are being
checked if fixed or not. But get_topology will be called when the decode is
chain is being exposed and hence it will always be fixed. Hence removing the
check for fixed caps. Removing gst_pad_get_current_caps for the chain->pad, as
get_pad_caps will again call the same api.
And get_topology can return NULL value if currently shutting down the
pipeline, which on being passed to create message will result in assertion
error. Check if topology is valid before using it
https://bugzilla.gnome.org/show_bug.cgi?id=755918
Havard Graff [Fri, 5 Feb 2016 09:10:40 +0000 (10:10 +0100)]
rtp: build audio library before rtp
Because audio-enumtypes.h needs to be available for
gstrtpbaseaudiopayload.c
https://bugzilla.gnome.org/show_bug.cgi?id=761949
Sebastian Dröge [Mon, 15 Feb 2016 19:28:33 +0000 (21:28 +0200)]
decodebin: Fix documentation of the autoplug-query signal
Stian Selnes [Tue, 26 Jan 2016 12:54:46 +0000 (13:54 +0100)]
videoencoder: Fix leak when pre_push does not return OK
https://bugzilla.gnome.org/show_bug.cgi?id=761951
Wim Taymans [Thu, 11 Feb 2016 18:47:04 +0000 (19:47 +0100)]
resample: avoid overflows
Avoid overflow in rate calculation. This can cause the resampler to
start on the wrong phase after a rate change.
Avoid overflow in cubic fraction calculation. This can cause noise when
dealing with higher samplerates.
Wim Taymans [Thu, 11 Feb 2016 17:01:40 +0000 (18:01 +0100)]
resample: fix double interpolation sse code
We were only reading 2 filter taps and we need to read 4 to do cubic
interpolation.
Wim Taymans [Wed, 10 Feb 2016 11:48:15 +0000 (12:48 +0100)]
audio-converter: make a copy if we can't write in unpack
If we don't have writable memory, make sure to make a copy of the input
samples into a temporary (writable) buffer, even if we are dealing with
a native intermediate format that we don't need to call the unpack
function for.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=761655
Thiago Santos [Fri, 5 Feb 2016 22:15:16 +0000 (19:15 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak
To get the CK_DEFAULT_TIMEOUT defined for all tests.
Also replaces a 120 timeout that was set.
https://bugzilla.gnome.org/show_bug.cgi?id=761472
Thiago Santos [Fri, 5 Feb 2016 21:03:07 +0000 (18:03 -0300)]
Automatic update of common submodule
From 86e4663 to b64f03f
Lubosz Sarnecki [Thu, 21 Jan 2016 08:43:35 +0000 (09:43 +0100)]
textoverlay: Expose rendering dimensions as properties.
In order to detect graphical user input on the
textoverlay, the resulting rendering properties
need to be exposed to applications.
Fixes delayx property declaration.
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Lubosz Sarnecki [Wed, 20 Jan 2016 14:37:44 +0000 (15:37 +0100)]
textoverlay: Do not limit positioning to video area.
The current position property is limited to X,Y positions
in the range of [0, 1]. This patch allows full control
over the overlay position, including partially outside
of the video area.
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Vincent Penquerc'h [Wed, 3 Feb 2016 16:28:42 +0000 (16:28 +0000)]
opus: fix FEC
FEC may only be used when PLC is enabled on the audio decoder,
as it relies on empty buffers to generate audio from the next
buffer. Hooking to the gap events doesn't work as the audio
decoder does not like more buffers output than it sends.
The length of data to generate using FEC from the next packet
is determined by rounding the gap duration to nearest. This
ensures that duration imprecision does not cause quantization
to 2.5 milliseconds less than available. Doing so causes the
Opus API to fail decoding. Such duration imprecision is common
in live cases.
The buffer to consider when determining the length of audio
to be decoded is the previous buffer when using FEC, and the
new buffer otherwise. In the FEC case, this means we determine
the amount of audio from the previous buffer, whether it was
missing or not (and get the data either from this buffer, or
the current one if the previous one was missing).
Vincent Penquerc'h [Tue, 2 Feb 2016 15:20:48 +0000 (15:20 +0000)]
opusdec: fix wrong buffer being checked for missing data
This caused a decoding error if the resulting (wrong) buffer size
was passed to the Opus decoding API.
https://bugzilla.gnome.org/show_bug.cgi?id=758158
Sebastian Dröge [Thu, 28 Jan 2016 12:29:39 +0000 (13:29 +0100)]
audiorate: Use gst_audio_format_fill_silence() instead of memset with 0 for generating silence
For unsigned formats, silence is not all bits 0.
HoonHee Lee [Thu, 28 Jan 2016 12:21:33 +0000 (13:21 +0100)]
audio/videodecoder: Minor cleanup of last commit
https://bugzilla.gnome.org/show_bug.cgi?id=761218
HoonHee Lee [Thu, 28 Jan 2016 09:06:44 +0000 (18:06 +0900)]
audio/videodecoder: use gst_pad_peer_query_caps to make output caps
gst_pad_get_allowed_caps() will return NULL if the srcpad has no peer.
In that case, use gst_pad_peer_query_caps() with template caps as filter
to have negotiated output caps properly before forwarding GAP event.
https://bugzilla.gnome.org/show_bug.cgi?id=761218
Thibault Saunier [Tue, 26 Jan 2016 18:23:04 +0000 (19:23 +0100)]
encodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE
Some encoders can update the stream header through time (for example
vp8 might do that) but it does not strictly changes the output format.
Aurélien Zanelli [Tue, 26 Jan 2016 13:09:42 +0000 (14:09 +0100)]
video-format: fix GstVideoFormatInfo documentation warnings
Add missing ':' to tile_ws and tile_hs fields documentation to avoid
bad render of these two fields, mark reserved bytes as private to hide
field and avoid gtkdoc warning and add parameters description to
documented macro to avoid gtkdoc warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=761132
Wim Taymans [Tue, 26 Jan 2016 15:56:57 +0000 (16:56 +0100)]
audio-converter: add reset function
Wim Taymans [Tue, 26 Jan 2016 15:36:41 +0000 (16:36 +0100)]
audio-converter: handle NULL input
Allow NULL as input to mean silence samples.
Wim Taymans [Tue, 26 Jan 2016 16:16:52 +0000 (17:16 +0100)]
audio-converter: improve _update_config
Allow NULL config to keep the existing parameters.
Fix the docs.
Wim Taymans [Tue, 26 Jan 2016 16:14:20 +0000 (17:14 +0100)]
audio-converter: audio-converter: make some optimized functions
Make optimized functions for generic and passthrough conversion.
Wim Taymans [Tue, 26 Jan 2016 15:34:35 +0000 (16:34 +0100)]
audio-quantize: add _reset function
Add a reset function that clears any history.
Tim-Philipp Müller [Mon, 25 Jan 2016 17:40:23 +0000 (17:40 +0000)]
build: remove nonsensical check for freetype
The examples need Gtk+, nothing uses freetype directly.
Tim-Philipp Müller [Mon, 25 Jan 2016 16:22:17 +0000 (16:22 +0000)]
tests: libvisual: make run faster
Reduce resolution, which shouldn't make any difference
to what's tested here. Makes test finish in less than
half the time it took before (8s vs. 21s).
Arun Raghavan [Mon, 25 Jan 2016 13:00:30 +0000 (18:30 +0530)]
alsa: Trivial doc update
alsasink now does more than just raw audio.
Sebastian Dröge [Thu, 21 Jan 2016 16:30:40 +0000 (18:30 +0200)]
decodebin: Correctly expose pads from elements that have directly exposable pads
analyze_new_pad() can return a new decode chain, which might have a new
GstDecodePad in the end. We should use those two for expose_pad() and not the
original ones that were passed to analyze_new_pad().
This fails when having a demuxer element that has raw pads immediately or
if a decoder with raw caps is after an adaptive demuxer.
https://bugzilla.gnome.org/show_bug.cgi?id=760949
Wim Taymans [Thu, 21 Jan 2016 15:08:46 +0000 (16:08 +0100)]
audio-converter: ensure correct alignment of samples
Make sure that the data we allocate for our temporary buffers is
properly aligned.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=760938
Wim Taymans [Thu, 21 Jan 2016 09:45:40 +0000 (10:45 +0100)]
video-color: add Adobe RGB primaries and transfer function
Wim Taymans [Wed, 20 Jan 2016 09:19:34 +0000 (10:19 +0100)]
video-info: enfore RGB matrix for RGB formats
In gst_video_info_to_caps(), make sure we end up with an RGB matrix for
RGB formats and warn when the GstVideoInfo colorimetry is wrong.
In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix
for RGB formats and warn about inconsistent caps.
See https://bugzilla.gnome.org/show_bug.cgi?id=759624
Wim Taymans [Wed, 20 Jan 2016 09:02:20 +0000 (10:02 +0100)]
video-converter: ignore matrix for RGB formats
For RGB formats, the matrix in the colorimetry (conversion from YUV to
RGB) is irrelevant and we should ignore it and assume the identity
transform for everything we do.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624
Thibault Saunier [Tue, 19 Jan 2016 22:26:57 +0000 (23:26 +0100)]
videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
It was never actually supported or used
https://bugzilla.gnome.org/show_bug.cgi?id=760666
Thibault Saunier [Tue, 19 Jan 2016 22:22:35 +0000 (23:22 +0100)]
Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"
This reverts commit
63517d0ed348784cce4ab4b295c2c0f1b78baa81.
It was wrong ref counting wise and we decided to deprecated DROPPED
return value
https://bugzilla.gnome.org/show_bug.cgi?id=760666
Vineeth TM [Mon, 18 Jan 2016 02:40:36 +0000 (11:40 +0900)]
tests:audioconvert: Fix integer overflow build error
value of 32768L << 16 and 1L << 31 is
2147483648
but it exceeds the positive range of int which is
2147483647
resulting in integer overflow error. Use G_GINT64_CONSTANT instead of L.
https://bugzilla.gnome.org/show_bug.cgi?id=760769
Arun Raghavan [Tue, 19 Jan 2016 07:09:22 +0000 (12:39 +0530)]
appsrc: Minor documentation cleanup
Tim-Philipp Müller [Thu, 14 Jan 2016 23:14:27 +0000 (23:14 +0000)]
tools: gst-play: allow setting of flags in serialized foo+bar format
https://bugzilla.gnome.org/show_bug.cgi?id=751901
Hugues Fruchet [Thu, 2 Jul 2015 15:58:00 +0000 (17:58 +0200)]
tools: gst-play: add command line options for verbose output and playbin flags
https://bugzilla.gnome.org/show_bug.cgi?id=751901
Sebastian Dröge [Mon, 18 Jan 2016 13:51:16 +0000 (15:51 +0200)]
win32: Update exports
Evan Callaway [Thu, 15 Oct 2015 14:38:16 +0000 (10:38 -0400)]
Add WAIT_ON_EOS flag to gstappsink.
If set, an appsink that receives an EOS will wait until all of its buffers have been processed before continuing.
https://bugzilla.gnome.org/show_bug.cgi?id=756187
Sebastian Dröge [Sat, 16 Jan 2016 09:17:50 +0000 (10:17 +0100)]
audioencoder: Add note to the documentation about various settings being reset before set_format()
It's quite unexpected behaviour that various subclass settings are just
reset before set_format(). Unfortunately changing this now has the risk
of breaking existing code but we should reconsider this for 2.0.
Mathieu Duponchelle [Sat, 9 Jan 2016 03:35:23 +0000 (04:35 +0100)]
streamsynchronizer: Ignore flushing streams [..]
[..] when resetting group start time. In GES, we are usually connected
to the streamsynchronizer on one audio and one video pad.
When seeking the timeline, both nlecompositions often output their flush_start
before any of them has output its flush_stop.
The current code, when receiving the first flush stop was using the
running time of the start of the second composition, which could
be pretty much anything, and means nothing at that point.
This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken
both when setting flushing and when checking it.
https://bugzilla.gnome.org/show_bug.cgi?id=750013
Sebastian Dröge [Fri, 8 Jan 2016 16:53:52 +0000 (18:53 +0200)]
playbin: Only append non-raw and sysmem pad template caps to the autoplug-query result
Otherwise a decoder supporting GL memory will think that all downstream can
support GL memory because of seeing its own template caps.
https://bugzilla.gnome.org/show_bug.cgi?id=758212
Sebastian Dröge [Fri, 8 Jan 2016 16:37:16 +0000 (18:37 +0200)]
Revert "playbin: only add the template caps when the result is empty"
This reverts commit
023af2d3b192f8ebf1bd4fe75a22a4adaedc1e05.
https://bugzilla.gnome.org/show_bug.cgi?id=758212
Thibault Saunier [Fri, 15 Jan 2016 13:35:22 +0000 (13:35 +0000)]
videoencoder: Release video frame when ->handle return ERROR or DROPPED
https://bugzilla.gnome.org/show_bug.cgi?id=760666
Edward Hervey [Fri, 15 Jan 2016 08:50:29 +0000 (09:50 +0100)]
playsink: Properly mark pending blocked pads
When blocking input pads, we also need to properly set the appropriate
pending flag.
Without this, when switching stream types after initial configuration
(like going from Audio+Video to Audio+Video+Sub) playsink would never
wait for *all* input streams to be blocked (it would just wait for the
new input pad (text in this case) to be blocked).
Since the reconfiguration might introduce unlinking/relinking of elements,
we need to ensure that *ALL* input streams are blocked.
Failure to do so would result in having some input streams pushing data
to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads
(returning GST_FLOW_NOT_LINKED).
A later optimization could involve only blocking the input pads that
might be involved in reconfiguration. But better be safe than sorry for
now :)
Nirbheek Chauhan [Wed, 6 Jan 2016 04:42:43 +0000 (10:12 +0530)]
gst-device-monitor: Use g_printerr instead of g_error
g_error is meant to be used for programmer errors (causes an abort),
not for expected runtime errors.
Thiago Santos [Wed, 13 Jan 2016 19:32:25 +0000 (16:32 -0300)]
subtitleoverlay: replace gst_caps_can_intersect() with is_subset()
Subset check verifies also that all required fields are present
and is mostly commonly used when checking if an element accepts
a certain caps
Thiago Santos [Tue, 12 Jan 2016 14:31:50 +0000 (11:31 -0300)]
playbin: use subset check instead of intersect
Elements usually require that all fields on their caps are present
on the fixed caps they receive. Using intersection won't verify it,
resort to using is_subset() checks.
https://bugzilla.gnome.org/show_bug.cgi?id=760477
Wim Taymans [Tue, 12 Jan 2016 14:56:36 +0000 (15:56 +0100)]
audio-channel-mixer: round before truncating
Round the result before truncating for int channel mixing.
Wim Taymans [Tue, 12 Jan 2016 14:27:16 +0000 (15:27 +0100)]
audio-converter: Avoid conversion when possible
When the input and output formats are the same and in a possible
intermediate format, avoid unpack and pack.
Never do passthrough channel mixing.
Only do dithering and noise shaping in S32 format
Wim Taymans [Tue, 12 Jan 2016 10:43:20 +0000 (11:43 +0100)]
audio-channel-mixer: add more formats
Add support for float and int16 mixing
Remove in-place processing, this simplifies things as we won't be using it.
Don't do clipping for float audio formats
Wim Taymans [Tue, 12 Jan 2016 10:37:17 +0000 (11:37 +0100)]
audio-converter: improve processing loop
Process as many samples as we can from the input and return the number
of processed samples from the chain. This simplifies some code.
Fix the IN_WRITABLE handling, don't overwrite the flags.
Thiago Santos [Mon, 11 Jan 2016 21:24:48 +0000 (18:24 -0300)]
subtitleoverlay: replace accept-caps with caps query
Those accept caps are actually checking if downstream supports
some particular caps to check if it need to negotiate a different
format. Checking only the next element with accept-caps is not enough
to guarantee that it is supported.
Using a caps query makes it obtain the supported caps for downstream
as a whole instead of only the next element.
Sebastian Dröge [Fri, 8 Jan 2016 19:27:16 +0000 (21:27 +0200)]
audio: Update exported symbols list
Thiago Santos [Fri, 8 Jan 2016 18:05:38 +0000 (15:05 -0300)]
videorate: replace accept-caps with a caps query
accept-caps is only a shallow check, it needs to know
whether downstream as a whole accepts the framerate