Alessandro Decina
6a699b6c40
decodebin: make it possible to register multiple handlers for autoplug-select
...
Change the way autoplug-select is accumulated so that it's possible to have
multiple handlers. The handlers keep getting called as long as they keep
returning GST_AUTOPLUG_SELECT_TRY.
One practical example of when this is needed is when hooking into playbin's
uridecodebin, which is perhaps not very elegant but the only way to influence
which streams playbin autoplugs/exposes.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723096
2014-01-28 13:45:07 +11:00
Sjoerd Simons
43237ad0e2
uridecodebin: Drop hardcoded list of media suitable for download buffering
...
Discussion on IRC indicated that the main reason for this list was to
prevent demuxers that can trigger a lot of seeking from using
progressive buffering using queue2 (which due to being seekable triggers
that behaviour).
However given that upstream can indicate seeks are possible but should
be avoided via a scheduling query, this extra whitelisting shouldn't be
necessary for well-behaved demuxers.
https://bugzilla.gnome.org/show_bug.cgi?id=704933
2014-01-24 22:34:51 +01:00
Wim Taymans
4c8e211e57
videoconvert: tweak the scoring algorithm
...
Make a little table of conversions and manually score them. Use this
info to define better weights for the scoring algorithm.
give separate scores for doing changes and the impact of the change,
This allows us to avoid conversion when we can but still allow fairly
lossless changes.
The old code did not penalize GRAY conversions, PAL conversions were
punished too low and depth conversions too high.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722656
2014-01-24 12:19:43 +01:00
Sebastian Dröge
4e3d101aa8
audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2
2014-01-20 16:11:04 +01:00
Antoine Jacoutot
daa194b71e
audioresample: Fix build on x86 if emmintrin.h is available but can't be used
...
On i386, EMMINTRIN is defined but not usable without SSE so check for
__SSE__ and __SSE2__ as well.
https://bugzilla.gnome.org/show_bug.cgi?id=670690
2014-01-20 16:08:41 +01:00
Wonchul Lee
c2746d753e
playbin: Remove unnecessary assignment
...
Remove duplicated assignment
https://bugzilla.gnome.org/show_bug.cgi?id=722491
2014-01-18 13:33:57 +01:00
Sebastian Dröge
4f8f5918be
playbin: Insert decoders without GstAVElement information between the other decoders
...
Otherwise they would be preferred over all decoders independent
of their ranks.
https://bugzilla.gnome.org/show_bug.cgi?id=722316
2014-01-18 13:33:57 +01:00
Sebastian Dröge
6b46019abf
playbin: Only put parsers and sinks first, not all non-decoders
...
https://bugzilla.gnome.org/show_bug.cgi?id=722316
2014-01-18 13:33:57 +01:00
Wim Taymans
5df274f824
streamsplitter: handle ACCEPT_CAPS query correctly
...
We can accept a caps when one of the downstream peers can accept the
caps. This is not the same as checking a subset of the getcaps
result because parsers might accept broader caps than what their getcaps
function returns (See https://bugzilla.gnome.org/show_bug.cgi?id=677401 ).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330
2014-01-16 16:32:34 +01:00
Wim Taymans
1fa70ac02d
videoconvert: don't interpolate chroma in I420 -> RGB
...
Don't try to interpolate the chroma samples, the used algorithm only
works for horizontal cositing. Let's switch to a faster and safer
version until we handle chroma siting correctly in the fastpaths.
2014-01-13 17:24:01 +01:00
Vincent Penquerc'h
0d66d05c98
videotestsrc: fix unit test breaking on duration query
...
The new switch caused breaks to not break of the main switch
anymore, causing fall through.
2014-01-10 14:24:12 +00:00
Sebastian Dröge
b21a67f99e
videoconvert: Update disted orc files once again
2014-01-10 15:06:23 +01:00
Vincent Penquerc'h
1185fbd29a
videotestsrc: do not set TIME duration when asked for another format
...
This fixes asserts in pipelines such as:
gst-launch-1.0 videotestsrc num-buffers=1000 ! x264enc ! h264parse ! \
matroskamux name=mux ! filesink location=test.mkv
2014-01-10 09:56:34 +00:00
Sebastian Dröge
4ff4c1c10a
videoconvert: Update disted orc files
2014-01-10 09:21:30 +01:00
Wim Taymans
14b5999bca
videoconvert: rework YUV->RGB fastpaths
...
Rework the orc code to be around 10% faster and support arbitrary matrices.
Pass the matrix parameters to the YUV->RGB functions to make them work
for all matrices. This enables more and faster fastpath conversions.
See https://bugzilla.gnome.org/show_bug.cgi?id=721701
2014-01-09 18:19:59 +01:00
Wim Taymans
5ca04cb798
videoconvert: fix I420 to BGRA fast-path some more
...
Calculate alpha value differently so that we can avoid running out
of registers.
2014-01-09 18:08:41 +01:00
Wim Taymans
38e1541466
videoconvert: remove unused code
2014-01-08 16:20:12 +01:00
Stefan Sauer
86e6f10781
typefind: add support of BWF RF64 a 64bit wav variant
...
Detect and describe the RF64 Broadcast Wave Format.
Fixes #519220
2014-01-05 23:35:52 +01:00
Sebastian Dröge
eff7866dd0
videotestsrc: Always set pixel-aspect-ratio and interlace-mode in the fixed caps
...
Otherwise our caps will not be compatible with elements that require a
1/1 pixel-aspect-ratio or progressive video.
https://bugzilla.gnome.org/show_bug.cgi?id=721103
2013-12-30 19:48:29 +01:00
Edward Hervey
ed59e06c57
videorate: Remove useless assignement
...
Was already set before
2013-12-30 13:45:04 +01:00
Matthieu Bouron
98e0dec715
playback: add ANY caps features to default audio/video raw caps
...
Allows elements using audio/video caps features to be used by playbin.
2013-12-30 11:25:49 +01:00
Sebastian Dröge
cd4602ecfa
videoconvert: Fix I420 to BGRA fast-path alpha setting
...
This fast-path was adding 128 to every component including
alpha while it should only be done for all components except
alpha. This caused wrong alpha values to be generated.
Also remove the high-quality I420 to BGRA fast-path as it needs
the same fix, which causes an additional instruction, which causes
orc to emit more than 96 variables, which then just crashes.
This can only be fixed in orc by breaking ABI and allowing more
variables.
2013-12-23 14:56:15 +01:00
Sebastian Dröge
218d0702c9
subparse: Add support for parsing LRC subtitles
...
https://bugzilla.gnome.org/show_bug.cgi?id=678590
2013-12-18 15:52:53 +01:00
Sebastian Dröge
bc2342e4ad
subparse: Add typefinder for LRC subtitles
2013-12-18 15:52:53 +01:00
Stefan Sauer
51038d70aa
pbutils: add typefinder and descriptions for audio/x-xi
...
xi files can be read by libsndfile.
2013-12-17 18:06:12 +01:00
Wim Taymans
6db3b535eb
uridecodebin: copy sticky events
2013-11-29 17:30:09 +01:00
Wim Taymans
a7151d0b3e
decodebin2: copy sticky events
2013-11-29 17:26:13 +01:00
Tim-Philipp Müller
1d40b1d2bb
tcp: fix compilation with MSVC
...
error C2440 at line 165 of gsttcpserversink.c
type cast error: cannot convert from GSocket* to GstMultiSinkHandle
2013-11-28 16:24:13 +00:00
Wim Taymans
65e492a403
decodebin2: activate ghost pad before targetting
...
Activate the decodebin2 pad before setting the target. This makes sure
that the events are copied.
2013-11-28 11:27:23 +01:00
Sebastian Dröge
0e9806a03e
playsink: Fix visualizations if no visualization plugin was set
...
https://bugzilla.gnome.org/show_bug.cgi?id=712280
2013-11-26 12:03:24 +01:00
Sebastian Dröge
eb7cae8033
typefind: Add typefinder for OpenEXR
2013-11-23 20:15:09 +01:00
Jihyun Cho
a81b2380cf
subparse: fix null pointer access in sami parser
...
https://bugzilla.gnome.org/show_bug.cgi?id=712805
2013-11-21 16:34:04 +00:00
Tim-Philipp Müller
5d7125413e
subparse: g_memmove() is deprecated
...
Just use plain memmove(), g_memmove() is deprecated in
recent GLib versions.
https://bugzilla.gnome.org/show_bug.cgi?id=712811
2013-11-21 15:19:47 +00:00
Tim-Philipp Müller
b1ff48c1a1
docs: remove old 0.10 Since markers
...
They're just confusing.
2013-11-16 16:10:07 +00:00
Reynaldo H. Verdejo Pinochet
8d9dc05245
typefind: Fix identification of some MPEG files
...
Make sure we begin by peeking at MPEG2_MAX_PROBE_LENGTH
bytes.
Fixes:
https://bugzilla.gnome.org/show_bug.cgi?id=678011
2013-11-14 23:46:12 -03:00
Thibault Saunier
ddf4ca2203
playback: Add subpicture/x-dvb as raw caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=710325
2013-10-30 22:28:43 +01:00
Antonio Ospite
fdfc6baf14
videoscale: fix adding borders when NV12 is used
...
When the frame buffer is NV12 the borders are not added at all, fix that
and fill them to black.
https://bugzilla.gnome.org/show_bug.cgi?id=711003
2013-10-30 18:38:21 +01:00
Matthieu Bouron
22f411378e
videoconvert: remove unneeded guint comparaison
...
https://bugzilla.gnome.org/show_bug.cgi?id=710760
2013-10-25 12:42:19 +01:00
Thibault Saunier
4305e1c33e
encodebin: Handle changes in encoding_profile::restriction during playback
...
There are cases where we want to change the restrictions caps during
playback, handle that in encodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=709588
2013-10-09 15:25:19 -03:00
Thiago Santos
c2eb3d4e71
videotestsrc: implement duration query
...
Add duration query to videotestsrc, it can answer this query when
the num-buffers property is set.
https://bugzilla.gnome.org/show_bug.cgi?id=709646
2013-10-08 16:10:54 -03:00
Thiago Santos
866f132821
videotestsrc: implement reverse playback
...
Decrement the n_frames counter when doing reverse playback to
have timestamps and offsets reducing instead of increasing
https://bugzilla.gnome.org/show_bug.cgi?id=701813
2013-10-08 09:34:47 -04:00
Matej Knopp
12f85c325d
audioconvert: Map buffer as READWRITE if the buffer and memory is writable
...
and only use the input buffer as temporary buffer in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=709408
2013-10-04 14:02:06 +02:00
Sebastian Dröge
dd4fe544bc
playsink: If the visualisation is changing and reconfiguration is pending, do it all during reconfiguration
...
Otherwise we will have two pad blocks that want to use the same mutex
and block each other via the streamlock.
https://bugzilla.gnome.org/show_bug.cgi?id=709210
2013-10-02 15:03:46 +02:00
Sreerenj Balachandran
ebaa714c9f
typefind: Add typefind function for H265
...
https://bugzilla.gnome.org/show_bug.cgi?id=708680
2013-10-01 23:14:33 +02:00
Thiago Santos
f8d8a56d7b
playbin: make sure elements are in null before disposing
...
If a pipeline fails to preroll, it might happen that the sinks are
put into READY state from playbin's sink activation, but they are never
set to playsink, so they aren't being managed by a GstBin and will keep
their READY state until they are unreffed, leading to a warning.
Prevent this by always forcing them to NULL when deactivating a group
https://bugzilla.gnome.org/show_bug.cgi?id=708789
2013-10-01 17:53:05 -03:00
MathieuDuponchelle
f330c01412
adder: Don't take channel mask in consideration in mono or stereo
...
This could cause negotiation to fail.
https://bugzilla.gnome.org/show_bug.cgi?id=708633
2013-09-28 13:32:58 +02:00
Matej Knopp
2f0993a95d
audiorate: clip buffer before pushing it
...
https://bugzilla.gnome.org/show_bug.cgi?id=708953
2013-09-28 11:41:07 +02:00
Sebastian Dröge
cac572ec5d
playbin: Make sure to cache context types we did not store yet
...
https://bugzilla.gnome.org/show_bug.cgi?id=708668
2013-09-24 12:47:26 +02:00
Mathieu Duponchelle
663f71a5dd
adder: send pending segment out before checking for EOS
...
Otherwise there would be cases where it would not send its segment
out when the first collected after getting it would already yield EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=708590
2013-09-24 10:04:37 +02:00
Sebastian Dröge
78b0e16773
playbin: Implement context caching for sinks that are not in playsink yet
2013-09-18 22:39:25 +02:00