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
Sebastian Dröge
e21d3d214a
playbin: No need to set the GstContext on the sink before activating it
...
This is all handled by the GstBin code now.
2013-09-18 22:39:25 +02:00
Wim Taymans
58e6f33e35
videoscale: fix 4tap for RGB15 and RGB16
...
Fix component ordering, it's wrong in both the scanline and merge
function so it cancels eachother out and isn't really a except for
loss of precision of the green component.
Fix calculation of the filter weight
2013-09-12 12:27:19 +02:00
Wim Taymans
1ede455199
videoscale: optimize merge for RGB15 and RGB16
2013-09-12 12:27:19 +02:00
Wim Taymans
b3e5d55040
videoscale: remove redundant MAX
...
The checks above make it inpossible for the value to be smaller than
what we check against with the MAX call.
2013-09-12 12:27:19 +02:00
Wim Taymans
a156fe4a1a
videoscale: fix RGB15 masks
2013-09-10 16:24:56 +02:00
Wim Taymans
85c572a57e
videoscale: simplify YUYV and UYVY linear scaling
...
Simplify the code and make it handle odd width
2013-09-10 16:24:56 +02:00
Wim Taymans
ccf53052a0
videoscale: small cleanups
...
Use BLEND macro
Fix NV12 corner case
2013-09-10 16:24:56 +02:00
Wim Taymans
d365b68517
videoscale: fix RGB15 masks
2013-09-10 16:24:56 +02:00
Wim Taymans
d7c02f389f
videoscale: simplify nearest scaling
...
Round the accumulator to avoid later checks
Remove some bound checks that would never trigger
Fix odd width scaling
2013-09-10 16:24:56 +02:00
Wim Taymans
c8cbcb6f02
videoscale: pick nearest line in scaling
...
Use rounding to pick the nearest line instead of rounding down.
2013-09-10 16:24:55 +02:00
Loïc Minier
8492b956cd
playback: fix docs of convert-sample action signal
...
convert-sample returns a GstSample, not a GstBuffer.
https://bugzilla.gnome.org/show_bug.cgi?id=707660
2013-09-07 14:58:46 +01:00
Wim Taymans
9b4e2b4b36
videoconvert: disable fastpath for odd width on some formats
2013-09-06 12:45:36 +02:00
Wim Taymans
ede804041c
videotestsrc: flush pending lines on odd height
2013-09-05 17:46:03 +02:00
Wim Taymans
e97f6401de
videoconvert: add additional width/height constraints
...
Some of the fastpath function can only work with aligned widht/height
so make sure we check this as well when choosing a fastpath.
Add fastpath for I420/YV12 -> BGRx
2013-09-05 17:22:50 +02:00
Wim Taymans
ce2b40670a
videoconvert: don't convert too much with odd width
2013-09-05 16:26:33 +02:00
Wim Taymans
700afbf6fd
videoconvert: handle lines in one go
...
Handle odd heights in 1 go when no vertical subsampling is used.
2013-09-05 11:05:36 +02:00
Wim Taymans
ce2ad4ae4a
videoconvert: fix height round down
2013-09-05 11:04:03 +02:00
Wim Taymans
22da49a55c
videoconvert: also allocate temp lines in fastpath
...
Some of the fastpath functions need tmplines, so make sure we allocate some in
the fastpath too.
This avoids SEGFAULTs with odd heights.
See https://bugzilla.gnome.org/show_bug.cgi?id=663248
2013-09-04 17:36:29 +02:00
Wim Taymans
579be969e5
videoconvert: add more fastpaths
...
Also reuse the I420 code for YV12 because it can handle the swapped UV fields
just fine.
2013-09-04 15:10:50 +02:00
Alex Ashley
7240e2e38c
typefind: Added "dash" and "avc3" fourCC codes to qt_type_find.
...
This commit adds detection of the "dash" and "avc3" compatible brands
in qt_type_find.
Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV
box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in
the first sample of every fragment (i.e. the first sample in each mdat
box). The principal reason for avc3 is to make it easier for client
implementations, because it removes the requirement to insert the
SPS+PPS in to the decoder pipeline every time there is a representation
change.
https://bugzilla.gnome.org/show_bug.cgi?id=702004
2013-09-04 13:33:59 +02:00
Wim Taymans
c731f1cba0
videoconvert: only chroma subsample when needed
2013-09-03 17:37:14 +02:00
Wim Taymans
10b3b88e9c
videoconvert: fix handling of chroma resample
...
Increase the number of temporary lines that we need, it is possible that the
up and downsampling offsets are out of phase and that we need to keep some
extra lines around. Also copy the unhandled output lines for the next round
instead of overwriting them.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706823
2013-09-03 15:42:44 +02:00
Wim Taymans
cfb7b51c08
videoconvert: improve debug
2013-09-03 15:41:56 +02:00
Tim-Philipp Müller
0715e73725
audioconvert: improve fixate_format function readability even more
...
Do the flags comparisons only once and re-use the result.
2013-08-23 19:47:57 +01:00
Tim-Philipp Müller
f317061b9c
audioconvert: simplify fixate_format function some more
...
If we have no output format yet, any format will do. The
!out_info condition existed in every path, so just split
it our for clarity. KISS.
2013-08-23 19:43:14 +01:00
Tim-Philipp Müller
7a481c13ae
audioconvert: make fixate function more readable
...
Use some variables to replace accessor macros to make code
a little bit mor readable.
2013-08-23 19:11:17 +01:00
Tim-Philipp Müller
f448977dbd
audioconvert: remove unnecessary deep nesting in fixate function
...
Makes it easier to read and removes two levels of indentation.
2013-08-23 18:53:48 +01:00
Sebastian Dröge
cebae4514a
audioconvert: If we have to lose precision, try to lose as less precision as possible
...
https://bugzilla.gnome.org/show_bug.cgi?id=706624
2013-08-23 18:52:50 +02:00
Sebastian Dröge
ec9b17479d
typefind: Add typefinder for video/x-pva
...
https://bugzilla.gnome.org/show_bug.cgi?id=158719
2013-08-22 14:23:43 +02:00
Carlos Rafael Giani
e8e8fa22f3
typefind: improved and extended typefinder for module music formats
...
introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
https://bugzilla.gnome.org/show_bug.cgi?id=706061
2013-08-19 10:32:26 +02:00
Sebastian Dröge
802d734a27
Revert "typefind: improved and extended typefinder for module music formats"
...
This reverts commit 4c79f35c7a
.
It causes some MP4 files to be detected as mod files.
2013-08-16 12:12:05 +02:00
Carlos Rafael Giani
4c79f35c7a
typefind: improved and extended typefinder for module music formats
...
introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
https://bugzilla.gnome.org/show_bug.cgi?id=706061
2013-08-16 09:34:48 +02:00
Jie Yang
5640ba17c8
typefind: ADTS/AAC, find more aac sync to select correctly
...
https://bugzilla.gnome.org/show_bug.cgi?id=691462
2013-08-15 13:26:38 +02:00
Sebastian Dröge
61c1d15ce7
playsink: Don't set sink to NULL if a new one is set while the old one is still in use
2013-08-14 15:43:53 +02:00
Tim-Philipp Müller
a2ebeb8357
gio: fix printf format compiler warning
2013-08-14 11:43:50 +01:00
Sreerenj Balachandran
81782144d9
typefind: Add typefind function for WebP image format
...
https://bugzilla.gnome.org/show_bug.cgi?id=705826
2013-08-12 14:41:00 +01:00
Jonathan Matthew
cc1de5ae94
gio: make better use of the cached buffer
...
When playing mp3 files from a smb server, we get 64k read requests
that mostly overlap. Without using the cache to partially satisfy
these, we send these requests straight to the server, resulting in
a lot more network traffic than necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=705415
2013-08-12 15:24:31 +02:00
Sebastian Dröge
b22f046cbc
streamsynchronizer: Set proxy flags on the pads and use default event handler for simplicity
...
https://bugzilla.gnome.org//show_bug.cgi?id=705555
2013-08-12 13:02:15 +02:00
Thibault Saunier
4afdc04089
adder: Raw buffers DTS should always be CLOCK_TIME_NONE
2013-08-06 15:11:05 +02:00
Thibault Saunier
a174ff25bc
adder: set DTS and PTS, sync on DTS
2013-08-06 12:25:44 +02:00
Arnaud Vrac
a8df760c96
playbin: check for tags on the right combiner instance
...
The get-tags actions are not working in all cases, because the track
number is used to resolve the stream combiner instead of the stream
type.
https://bugzilla.gnome.org/show_bug.cgi?id=705369
2013-08-03 17:17:10 +01:00
Edward Hervey
258aca37dd
videotestsrc: Demote ERROR statement back to DEBUG
...
It crawled in with david's latest commit
2013-08-02 11:00:06 +02:00
David Schleef
0c4beda8f0
videotestsrc: Add pinwheel and spokes patterns
2013-07-31 11:37:33 -07:00
Matej Knopp
496dd67859
videorate: ignore GAP event
...
videorate automatically fills gaps with the previous frames.
https://bugzilla.gnome.org/show_bug.cgi?id=705048
2013-07-29 08:24:06 +02:00
Matej Knopp
470531d56e
audiorate: ignore GAP event
...
audiorate automatically fills gaps with silence.
https://bugzilla.gnome.org/show_bug.cgi?id=705048
2013-07-29 08:23:43 +02:00
Sebastian Dröge
b12cd5432a
multisocketsink: Fix handling of partial writes and WOULD_BLOCK errors
2013-07-28 13:52:28 +02:00
Sebastian Dröge
692fd81ac7
multifdsink: Update current time after every write
...
Each write will update the last_activity_time and otherwise we would
compare against a too old current time and immediately timeout because
current time is smaller than last activity time (overflow).
2013-07-28 13:23:41 +02:00
Sebastian Dröge
930bfe3cbc
multihandlesink: Update current time after every write
...
Each write will update the last_activity_time and otherwise we would
compare against a too old current time and immediately timeout because
current time is smaller than last activity time (overflow).
2013-07-28 13:22:17 +02:00
Edward Hervey
46ce07333b
videotestsrc: Initialize GstVideoInfo in ::start()
...
Otherwise we end up with bogus values and races
2013-07-26 16:14:05 +02:00
Edward Hervey
96efe720a1
videotestsrc: Don't error on not-negotiated
...
Base classes will handle re-negotiation if needed, but emitting an
error message will make applications stop.
2013-07-26 16:14:05 +02:00
Edward Hervey
9dd0e6cccc
ext/gst: Ensure default query/event handlers are used
...
And in some cases, just remove our implementation that does nothing
2013-07-26 16:08:35 +02:00
Tim-Philipp Müller
ef5c6d351f
typefinding: don't detect mp3 based on just a few bits
...
Remove dodgy code that detects mp3 with as little as
a valid frame sync at the beginning. This was only used
in some unit tests in -good where there were only a few
bytes after the id3 tag. We now require at least two
frame headers.
Fixes mis-dection of text files with UTF-16 LE BOM as mp3.
https://bugzilla.gnome.org/show_bug.cgi?id=681368
2013-07-25 13:20:11 +01:00
Sebastian Dröge
0bd0c925e3
playsink: Remove two unused variables
2013-07-23 13:42:40 +02:00
Sebastian Dröge
e4b1a58675
subtitleoverlay: Remove some more unneeded segment tracking
2013-07-23 13:41:55 +02:00
Sebastian Dröge
436ea03362
playsinkconvertbin: Remove obsolete segment tracking
...
This is now all handled automatically with sticky events.
2013-07-23 13:36:09 +02:00
Sebastian Dröge
f92da706fd
playbin: Ensure that everything in a GstSourceGroup gets the same group-id
...
Including streams from external subtitle files. If not everything implements
the group-ids playbin invents its own.
2013-07-23 12:42:50 +02:00
Sebastian Dröge
94fc577dd5
playsink: Fix handling of colorbalance element if the sink does not implement it
2013-07-23 12:35:46 +02:00
Sebastian Dröge
0947c7ab30
playsink: Improve segment handling in the custom flushing for subtitle stream switches
...
This code needs a lot more work to be improved for 1.0.
2013-07-23 11:13:19 +02:00
Sebastian Dröge
33cba1054d
subtitleoverlay: Segment events are sticky now and propagated automatically when needed
2013-07-23 11:11:33 +02:00
Sebastian Dröge
d4b48ec70d
streamcombiner: Proxy all sink events downstream
...
Thanks to Mathieu Duponchelle for noticing this regression
introduced with the last change.
https://bugzilla.gnome.org/show_bug.cgi?id=704706
2013-07-23 09:14:23 +02:00
Sebastian Dröge
2465895266
streamsynchronizer: Implement grouping of streams via the group-id
...
https://bugzilla.gnome.org/show_bug.cgi?id=704427
https://bugzilla.gnome.org/show_bug.cgi?id=704408
2013-07-22 15:24:13 +02:00
Sebastian Dröge
9bd140d3b7
streamcombiner: Fix locking
...
We have to hold the streams-lock when iterating over all pads,
also the stream-lock of the pad is already locked when we receive
EOS.
Call gst_pad_event_default() for the correct default handling of
events.
2013-07-22 08:08:27 +02:00
Mathieu Duponchelle
2f8b0f1e34
encoding: fix EOS handling in streamsplitter / combiner.
...
This commit adds a streamcombinerpad with an is_eos field.
When streamcombiner receives an EOS on one of its pads, it
forwards it all its other pads are EOS.
This commit also removes the notion of "stream-switching-eos".
2013-07-21 20:25:54 -04:00
Tim-Philipp Müller
7d16f95730
subparse: use g_strdup() and friends
...
Fixes build issue on windows, but is also better seeing that
these string are going to get freed with g_free() and not free().
2013-07-17 09:04:47 +01:00
Tim-Philipp Müller
3eea81e4a2
subparse: don't leak parse context for sami and qttext
...
In gst_sub_parse_dispose() parser_type will be UNKNOWN,
so these deinit calls were never executed. And we should
clean up the parser state in the downwards state change
anyway.
2013-07-16 18:31:46 +01:00
Young-Ho Cha
f597efe24b
subparse: remove libxml dependency for sami parser and re-enable sami parser
...
To celebrate 2013.gnome.asia, updated sami parser for gstreamer 1.x. :D
Remove conditional block for check libxml usage and
implement a simple html markup parser for the sami
parser.
https://bugzilla.gnome.org/show_bug.cgi?id=693056
2013-07-16 18:04:02 +01:00
Sebastian Dröge
432b092247
playbin: Don't prefer decoders for which we found a matching sink
...
It doesn't make much sense.
2013-07-16 12:21:44 +02:00
Sebastian Dröge
4cfda00120
playbin: Also consider possible converters for raw streams when selecting compatible sink/source combinations
...
https://bugzilla.gnome.org/show_bug.cgi?id=704285
2013-07-16 11:22:35 +02:00
Sebastian Dröge
5ee98c146e
playbin: Fix sorting for decoder factories for which we didn't find a compatible sink
...
They might just need some converters for raw audio/video.
https://bugzilla.gnome.org/show_bug.cgi?id=704285
2013-07-16 09:32:31 +02:00
Sebastian Dröge
10c91ea5b5
playbin: Don't print a warning when setting a sink to NULL
...
https://bugzilla.gnome.org/show_bug.cgi?id=704194
2013-07-15 09:10:30 +02:00
Sebastian Dröge
edecd7eec3
playbin: Properly destroy and set to NULL sinks that don't work
2013-07-12 12:05:37 +02:00
Alban Browaeys
f174c450c9
playbin: Fix logic to detect if a stream-change is currently pending
...
Fixes duration reporting in gapless playback between files.
https://bugzilla.gnome.org/show_bug.cgi?id=585969
2013-07-12 09:54:06 +02:00
Sebastian Dröge
9ab6ab4257
playbin: Only give sinks a new bus if they have no parent yet
...
Otherwise we will remove the bus that would proxy messages to playsink
and never set it again. If the sink is already in playsink, all failures
are fatal anyway as it's either a sink that worked before or one that
was set by the user.
https://bugzilla.gnome.org/show_bug.cgi?id=701997
2013-07-10 17:17:05 +02:00
Sebastian Dröge
d7f1d9954f
playbin: Store a/v/t sinks locally too, not just in playsink
2013-07-10 13:22:04 +02:00
Sebastian Dröge
4c1fc76407
playsink: ref_sink() any sinks that are set on playsink
...
Otherwise the behaviour of the properties is inconsistent.
2013-07-10 13:21:29 +02:00
Sebastian Dröge
043c1888f3
streamsynchronizer: Non-TIME segment streams are not waiting automatically
...
This was leftover code from porting to 1.0 and fixes the playbin
unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=701943
2013-07-10 13:00:21 +02:00
Sebastian Dröge
f68b6c2626
playbin: Change sink ownership handling to be a bit more sane
...
playbin will now only activate the sinks in a single place and
will never change the states of any sinks that are owned by
playsink.
Also handle text-sinks the same way as audio/video sinks inside
playbin.
2013-07-09 14:57:05 +02:00
Thibault Saunier
38790e5757
adder: Do not send flush_start event with the stream lock taken
...
FLUSH_START is not serialized, so the lock should not be taken when
sending it.
2013-07-04 22:10:13 -04:00
Tim-Philipp Müller
ba32b2e16b
audioresample: make explicit that neon is disabled and why
...
https://bugzilla.gnome.org/show_bug.cgi?id=703477
2013-07-03 09:44:32 +01:00
Carlos Rafael Giani
1b48d431f4
audioresample: disable 16-bit integer NEON support
...
it seems to be broken (produces no audio), plus the performance gain
is small
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2013-07-03 08:14:42 +02:00
Sebastian Dröge
7c28c180ec
playbin: If we had a previous autoplugged sink, try to reuse it
...
https://bugzilla.gnome.org/show_bug.cgi?id=701997
2013-07-02 14:25:28 +02:00
Sebastian Dröge
b3a15872b7
playsink: If we switch sinks, make sure that the old sink is set to NULL
2013-07-02 14:18:20 +02:00
Sebastian Dröge
841d738f7c
playbin: Don't change the state of sinks that we passed to playsink already
2013-07-02 14:02:57 +02:00
Sebastian Dröge
c725591010
playsink: Consider new audio/video sinks when reconfiguring
2013-07-02 14:01:52 +02:00
Sebastian Dröge
a0e61534ef
playbin: Improve debug output regarding sink selection
2013-07-02 12:27:03 +02:00
Brendan Long
d3acb2b01a
playbin: Post an error message if a stream combiner doesn't return a request pad.
2013-07-02 09:34:19 +02:00
Sebastian Dröge
f39d1dc3b4
playbin: Only intersect to check if a sink can handle raw caps
...
Doing a subset check requires fixed caps, which we might not have here.
https://bugs.webkit.org/show_bug.cgi?id=116042
2013-07-01 13:46:51 +02:00
Vincent Penquerc'h
5a064ca423
typefind: avoid too low mpeg/ts probability on small amount of data
...
With the current test, we get into problems when we try to typefind
a MPEG stream from a small amount of data, which can happen when
we get data pushed from a HTTP source. We thus make a second test
to give higher probability if all the potential headers were either
pack or pes headers (ie, no potential header was unrecognized).
This fixes an issue with a MPEG1/MP2 stream being properly discovered
as video/mpeg from a file, but as audio/mpeg from souphttpsrc.
https://bugzilla.gnome.org/show_bug.cgi?id=703256
2013-07-01 11:08:24 +02:00
Patricia Muscalu
f9acd972ef
videotestsrc: do not leak lines
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703177
2013-06-27 12:39:47 +02:00
Sreerenj Balachandran
8a2dbeb1ef
playsink: Fix the block diagram of deinterlace bin.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702465
2013-06-17 16:28:44 +02:00
Brendan Long
b5f7a621bb
playbin: Emit {audio,text,video}-changed signals when pads are removed
...
https://bugzilla.gnome.org/show_bug.cgi?id=702195
2013-06-14 14:23:11 +02:00
Sebastian Dröge
eb09e561c4
videoconvert: Fix leaking of the chroma resample helper objects
2013-06-11 15:24:05 +02:00
Sebastian Dröge
15375861b5
adder: Reject segments that have a different rate than the output segment
...
adder does no rate conversion.
2013-06-09 19:20:20 +02:00
Sebastian Dröge
4465741222
playbin: When activating a fixed sink, proxy error messages too
...
If activating a fixed sink fails, everything will fail later anyway
and we can just error out early.
2013-06-08 23:51:13 +02:00
Sebastian Dröge
44352deadb
playbin: Improve autoplugging of decoder/sink combinations by trying to activate the sink
...
And if that fails don't bother autoplugging that sink. Also gives
us more accurate sink caps.
2013-06-08 23:34:53 +02:00
Sebastian Dröge
ff8839d97b
playbin: Proxy the playbin context to the sinks
2013-06-08 23:22:54 +02:00
Sebastian Dröge
77af24c493
playbin: Proxy sink messages if we activate a sink in playbin already
...
This makes sure the application gets any context related messages and
can do whatever is required to a) get the sink a context or b) share
the context with other elements in the pipeline.
The proxying is necessary because the sink is not a child element of
playbin, but instead will at a later point be a child of some bin
inside playsink.
https://bugzilla.gnome.org/show_bug.cgi?id=700967
2013-06-08 23:22:54 +02:00
Sebastian Dröge
c49531f1b7
decodebin: Let serialize queries before caps events through
...
Otherwise we're going to deadlock forever because no autoplugging
happens without having caps, but caps can never be send because
we're blocking.
Serialized queries before caps should never be sent unless really
necessary.
2013-06-06 15:57:49 +02:00
Sebastian Dröge
ff5d3313d4
Release 1.1.1
2013-06-05 18:31:27 +02:00
Sebastian Dröge
cc5a476fc6
adder: Add GstChildProxy interface for the sinkpads
...
This allows to set the sinkpad properties more easily.
Next step: Implement proper synchronization in adder, almost done!
2013-05-30 23:56:52 +02:00
Sebastian Dröge
349174b48e
adder: Hold object lock in setcaps a bit longer to prevent race conditions
2013-05-30 23:56:52 +02:00
Sebastian Dröge
dde8d8919d
adder: Simplify segment event handling
...
We don't care about upstream segments but generate our own. This
makes the code more similar to videomixer again.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
2953810ba5
adder: Use gst_audio_info_is_equal() to check if we get the same caps
2013-05-30 23:56:52 +02:00
Sebastian Dröge
0693b78e86
adder: Don't calls gst_pad_set_caps() on sinkpads
...
It doesn't make much sense and the CAPS query handling
on the sinkpads should handle this.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
5e63a0f674
adder: Set GAP flag on silence buffers we created
2013-05-30 23:56:52 +02:00
Sebastian Dröge
667b856cbc
adder: Remove caching of the processing function
...
The compiler will generate a hashtable from the switch-case, and
we need to call functions explicitely for the volume!=1.0 cases
anyway.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
a76ade2d78
adder: Add support for per-stream volumes
2013-05-30 23:56:52 +02:00
Sebastian Dröge
addb07bc58
adder: Add optimized orc code for F64 processing
2013-05-30 23:56:52 +02:00
Sebastian Dröge
308c8fef68
adder: The output buffer must be readable and writable
2013-05-30 23:56:51 +02:00
Sebastian Dröge
509246cbac
adder: Add support for muting individual pads
2013-05-30 23:56:51 +02:00
Sebastian Dröge
3974379a7f
adder: Sync pad properties with the GstController
2013-05-30 23:56:51 +02:00
Sebastian Dröge
561ce54b27
adder: Add custom GstPad subclass to hold additional data and properties
...
This will later allow to set per-stream volumes and mute status.
2013-05-30 23:56:51 +02:00
Wim Taymans
00bbca2f9f
videoconvert: free tmplines correctly
...
Keep track of how many tmplines we allocated and use that to free the
correct amount of lines.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701234
2013-05-30 05:27:31 +02:00
Daniel Drake
d32d2f0b14
playsink: pass translated color balance value to channel
...
We found a case where untranslated values were being passed from the
proxy to the underlying channel, causing bad color balance values
in some setups.
Thanks to Sebastian Dröge for clarifying how the code works, and
suggesting the fix.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701202
2013-05-29 20:20:10 +02:00
Brendan Long
96aab6d8a5
playbin: Don't take an extra reference to the custom stream combiners
...
They are automatically reffed when added to the bin because they're
already not floating anymore.
2013-05-29 20:12:48 +02:00
Sebastian Dröge
0dee7777ff
playbin: Set custom stream-combiners to NULL and unref before finalizing
2013-05-29 10:35:11 +02:00
Brendan Long
53caa99a59
playbin: Rename select to combine and selector to combiner in playbin
2013-05-29 09:53:34 +02:00
Brendan Long
ba5f6cfe72
playbin: Add support for custom stream-combiners
...
This allows to chose something else than input-selector
for multiple audio/video/text streams, e.g. an adder could
be used for audio.
It is needed for example to implement some of the more
advanced HTML5 video features.
https://bugzilla.gnome.org/show_bug.cgi?id=698851
2013-05-29 09:52:32 +02:00
Sebastian Dröge
14192c031a
decodebin: Don't call autoplug-query on shutdown
...
And remove leftover debug code
2013-05-28 13:32:23 +02:00
Sebastian Dröge
e482b5b8e6
playbin: In autoplug-queries, add the actual decoder/parser/etc template caps
...
Add the actual decoder/parser/etc caps at the very end to
make sure we don't cause empty caps to be returned, e.g.
if a parser asks us but a decoder is required after it
because no sink can handle the format directly.
2013-05-28 13:23:40 +02:00
Sebastian Dröge
a4ec6fe0b7
playbin: Forward CONTEXT queries to the corresponding sink if we have one
...
https://bugzilla.gnome.org/show_bug.cgi?id=700967
2013-05-28 13:14:15 +02:00
Sebastian Dröge
e5064ee723
playbin: Refactor autoplug-query handling
...
We now only check sinks and factories of the corresponding media
type. It doesn't make sense to pass audio/subtitle caps to a video
decoder.
2013-05-28 13:08:00 +02:00
Sebastian Dröge
d366613401
decodebin: Block on serialized queries too
...
Otherwise we will only block after the serialized, non-sticky event
after the CAPS event or the first buffer. If we're waiting for another
pad to finish autoplugging after we got final caps on this pad, it
will mean that we will let the ALLOCATION query pass although the
pad is not exposed yet.
2013-05-28 13:06:15 +02:00
Sebastian Dröge
9513b770f4
decodebin: Pass the element in the autoplug-query signal too
2013-05-28 12:10:33 +02:00
Sebastian Dröge
730e633d58
decodebin: Need to lock the chain mutex in autoplug_query
2013-05-28 11:40:51 +02:00
Sebastian Dröge
b86267b5be
playsinkconvertbin: Fix leak of the downstream caps filter
2013-05-28 11:36:58 +02:00
Sebastian Dröge
db8d53bc17
playbin: Refactor autoplug-query handling a bit
2013-05-28 11:05:21 +02:00
Wim Taymans
7b8ff707b6
videoconvert: run chroma resamplers
...
Run the chroma upsampler after unpack and the chroma subsampler
before pack for higher quality conversions and correct chroma siting.
2013-05-27 11:05:08 +02:00
Wim Taymans
e5bc2b0d05
videotestsrc: subsample chroma before packing
...
Run the chroma subsampler before packing.
2013-05-27 11:05:08 +02:00
Wim Taymans
4f2e1b46a7
videoconvert: reformat
2013-05-27 11:05:06 +02:00
Wim Taymans
620e3aad07
videoconvert: actually use the input pixels
...
Operate on the provided pixels array instead of the temp array.
2013-05-27 11:05:06 +02:00
Sebastian Dröge
92af499eb7
typefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS typefinder
2013-05-24 17:43:53 +02:00
Sebastian Dröge
fa7ad8743c
decodebin: Lock the state of child elements as long as we manage their states
...
https://bugzilla.gnome.org/show_bug.cgi?id=690420
2013-05-24 13:41:46 +02:00
Sebastian Dröge
be4dba23ea
Revert "decodebin2: use NO_RESYNC flag"
...
This reverts commit 0feecef275
.
2013-05-24 11:47:13 +02:00
Sebastian Dröge
ca1279e4a3
decodebin: Use signal handler IDs instead of disconnecting by function
...
This is cleaner and faster.
2013-05-22 17:29:17 +02:00
Sebastian Dröge
504e57ccc5
decodebin: Connect and disconnect the have-type signal of typefind before starting/shutting down
2013-05-22 13:49:18 +02:00
Sebastian Dröge
f4952a9baf
typefind: Add variant=itu to the h263 typefinder caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=700770
2013-05-22 10:58:10 +02:00
Sebastian Dröge
1756f86042
playsink: Use signal handler IDs instead of disconnecting/blocking by function
...
This is cleaner and faster.
2013-05-21 16:35:18 +02:00
Sebastian Dröge
d802c7395a
playback: Only do a subset filtering for the factories if we have fixed caps
...
Otherwise we're plugging a parser/converter currently and have unfixed caps.
2013-05-15 17:15:18 +02:00
Sebastian Dröge
062246fc6e
decodebin: Return immediately from checking if a chain is complete if we're shutting down
2013-05-15 14:51:16 +02:00
Sebastian Dröge
83f2476976
decodebin: Hold the expose lock when freeing a chain
...
https://bugzilla.gnome.org/show_bug.cgi?id=700342
2013-05-15 14:47:53 +02:00
Sebastian Dröge
74a31a02fc
playbin: Fix deadlock caused by lock order inversion
...
First the source group lock, then the elements list lock.
2013-05-15 13:38:32 +02:00
Sebastian Dröge
450a47c0a5
playback: Use subset checks instead of intersection
...
https://bugzilla.gnome.org/show_bug.cgi?id=700272
2013-05-14 10:07:44 +02:00
Sebastian Dröge
b19d64d785
subparse/ssaparse: Fix event handling and order
2013-05-10 12:21:31 +02:00
Mathieu Duponchelle
aec0e48aa1
videorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT
...
Fixes #699187
2013-05-09 16:22:13 +02:00
Sebastian Dröge
b0ec886cb9
playbin2: Chose more balanced metric to compare ranks of decoder/sink combinations
2013-05-09 15:05:21 +02:00
Sebastian Dröge
b23f4e4ab9
playbin: Fix infinite loop in GSequence iteration code
2013-05-08 21:27:17 +02:00
Sebastian Dröge
4c52518ef5
uridecodebin: Always store queue2 elements for later removal
...
Otherwise we accumulate more and more queue2 elements, and let each
of them start a thread doing nothing but waiting each time uridecodebin
goes to PAUSED.
https://bugzilla.gnome.org/show_bug.cgi?id=699794
2013-05-08 14:52:18 +02:00
Andoni Morales Alastruey
3ad2dec005
typefind: fix detection of HLS playlists with alternative renditions
...
https://bugzilla.gnome.org/show_bug.cgi?id=699923
2013-05-08 13:23:52 +02:00
Sebastian Dröge
7ff4f8f4d4
playbin: Use the GSequence more efficiently
...
This makes it possible to take advantage of the O(log n) lookups
of GSequence on the ~1000 element lists and only do iterations
on <10 element lists. Previously the code iterated over ~1000 element
lists multiple times.
2013-05-07 15:23:05 +02:00
Sreerenj Balachandran
52c5115ff0
playbin: Use GSequence instead of GList to store the GstAVElement list.
...
The GstAVElement list might be big. Use GSequence to optimize it.
2013-05-07 15:23:05 +02:00
Sreerenj Balachandran
a8d1b45491
playbin: autoplug the audio/video decoders and sinks based on capsfeatures.
...
Autoplug the decoder elements and sink elements based on
the number of common capsfeatures if the ranks are the same.
This will also helps to autoplug the h/w_decoder and h/w_renderer.
https://bugzilla.gnome.org/show_bug.cgi?id=698712
2013-05-07 15:23:05 +02:00
Sebastian Dröge
b719dd9f89
decodebin: Expose pads when they receive EOS before any buffers
...
Stops decodebin from waiting forever to expose a pad if there
is never data on it.
https://bugzilla.gnome.org/show_bug.cgi?id=691072
2013-05-06 15:49:00 +02:00
Thibault Saunier
b940cba826
streamsplitter: Keep srcpad alive while querying peer
2013-05-02 12:29:48 +01:00
Thibault Saunier
372eddf00e
adder: Get collectpad stream lock when fowarding flush events
...
Fixes #698410
2013-05-02 12:29:48 +01:00
Tim-Philipp Müller
04a70ea835
typefindfunctions: minor SSA typefinder clean-up
...
Remove code that doesn't make sense as it is. If there's
a 2-byte UTF-16 BOM or a 4-byte UTF-32 BOM, the following
text won't be 8-bit ASCII.
2013-04-28 18:56:28 +01:00
Sebastian Dröge
7f6e1bdfdb
tcp: Use the generic marshaller instead of generating custom ones
2013-04-25 09:20:29 +02:00
Sebastian Dröge
e06cc5295a
tcp: Add FIXME comment for 2.0 to rename "host" to "bind-address" for the server elements
2013-04-25 09:06:33 +02:00
Sebastian Dröge
9c5c0ca878
streamsynchronizer: Fix check for belonging to another stream
...
https://bugzilla.gnome.org/show_bug.cgi?id=697820
2013-04-24 11:11:41 +02:00
Tim-Philipp Müller
88acbd60cd
typefindfunctions: fix crash in new MSS typefinder
...
Fixes icydemux test_first_buf_offset_when_merged_for_typefinding
unit test segfaulting on a NULL pointer.
2013-04-24 00:08:15 +01:00
Wim Taymans
c5840ebbd9
decodebin2: also remove the bytes limit
...
Remove the byte limit for adaptive http streaming. Because some fragments might
be very big, we might need a lot of buffering. I also suspect another problem
where data is actually missing and things go out of sync somehow.
2013-04-23 11:20:28 -03:00
Wim Taymans
26c5bc1ce4
decodebin2: update buffer size in multiqueue
...
When we disable buffering in the more upstream multiqueue elements,
we need to also update the queue limits. In particular, the max_size_time should
be set to 0 or else we might simply deadlock.
2013-04-23 11:20:28 -03:00
Thiago Santos
5cd07bd2af
decodebin2: only allow 'lower' multiqueues to emit buffering messages
...
When we have a scenario of demuxers linked to demuxers, decodebin2
will create multiqueue at different levels of the pipeline. The problem
is that only the lowest multiqueue's should do the buffering messaging,
as they will handle with the raw streams data.
When all multiqueues are doing buffering, the upper ones can handle
large buffers that easily fill them, moving from 0% to 100% from
buffer to buffer, causing too much buffering messages to be posted.
This hangs the pipeline unnecessarily and might lead to deadlocks.
2013-04-23 11:20:28 -03:00
Thiago Santos
6382d4c0ad
decodebin2: do not handle the next-groups list as if it was a single item
...
Decodebin2's chains store a next_groups list that was being handled as
it could only have a single element. This is true for most of the
chaining streams scenarios where streams change not very often.
In more stressfull changing scenarios, like adaptive streams, those
changes can happen very often, and in short time intervals. This could
confuse decodebin2 as this list was always being used as a single
element list.
This patches makes it handle as a real list, using iteration instead
of picking the first element as the correct one always.
2013-04-23 10:32:19 -03:00
Thiago Santos
054ffc6e2b
decodebin2: preserve next groups order
2013-04-23 10:32:19 -03:00
Thiago Santos
42db7c7b08
decodebin2: still report chain as drained when not 'handled'
...
Even if the chain hasn't been 'handled' in this switching round,
report it as drained so upper chains/groups know abou it.
This makes switching happen on upper levels of the groups/chain
trees
2013-04-23 10:32:19 -03:00
Thiago Santos
ce20bc1dc0
typefind: add smoothstreaming manifest typefinding
...
Checks if the received XML is a smoothstreaming manifest
in both UTF8 and UTF16 formats. The check is made for a
SmoothStreamingMedia top level element.
Conflicts:
gst/typefind/gsttypefindfunctions.c
2013-04-23 10:32:19 -03:00
Sebastian Dröge
d77f76049e
streamsynchronizer: Don't consider a stream added for an already running one as "new"
...
Fixes enabling visualizations after disabling them after they were enabled already.
2013-04-23 13:54:49 +02:00
Sebastian Dröge
2e017bd595
streamsynchronizer: If a stream belongs to an already running stream, don't wait
...
This fixes enabling visualizations after the audio stream already started.
https://bugzilla.gnome.org/show_bug.cgi?id=697820
2013-04-23 13:19:38 +02:00
Tim-Philipp Müller
f5c0d61be7
Update disted orc backup files
...
Generated with 0.4.17 now.
2013-04-22 13:58:33 +01:00
Tim-Philipp Müller
830926e47d
uridecodebin: don't report 'no uri handler found' if the URI was rejected by a source
...
If a source element could be created for a URI, but all elements rejected
the URI for some reason, propagate the error from the URI handler instead
of reporting a 'no uri handler found for protocol xyz' error, which is
confusing. Fixes error reporting with dvb:// URIs when the channel config
file could not be found or not be parsed or the channel isn't listed.
https://bugzilla.gnome.org/show_bug.cgi?id=678892
2013-04-21 17:30:58 +01:00
Thibault Saunier
fbe80a688d
adder: Do not try to wait for flush_stop after receiving a segment event
...
+ Add a simple test
2013-04-21 16:11:41 +02:00
Stefan Sauer
fa9c0cdf6e
volume: skip controlled processing if we have no timestamp
2013-04-21 16:11:41 +02:00
Sreerenj Balachandran
9c94a1812f
playbin: use _plugin_feature_rank_compare API instead of duplicating the code.
2013-04-18 13:59:52 +02:00
Sreerenj Balachandran
8cf6049643
decodebin: use _plugin_feature_rank_compare API instead of duplicating the code.
2013-04-18 13:59:36 +02:00
Philippe Normand
26fb72cf65
uridecodebin: query bandwidth capability to source element
...
Use a scheduling query to check if the source element has some
bandwidth limitations. If this is the case on-disk buffering might be
used. If the source element doesn't handle the scheduling query then
fallback to checking the URI protocol against the hardcoded list of
protocols known to handle buffering already.
Fixes bug 693484.
2013-04-16 16:47:28 +02:00
Sebastian Dröge
948a4a3632
gst: Add better support for static plugins
2013-04-15 15:52:58 +02:00
Sreerenj Balachandran
9b33c75cd4
playbin: use ascending order for name based sorting of pluginfeatures.
...
The compare_factories_func() should return negative value
if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:22 +02:00
Sreerenj Balachandran
f07eb23728
decodebin: use ascending order for name based sorting of pluginfeatures.
...
The _decode_bin_compare_factories_func() should return negative
value if the rank of both PluginFeatures are equal and the name of
first PluginFeature comes before the second one (== ascending order).
2013-04-15 12:05:16 +02:00
Tim-Philipp Müller
1c0288db38
playbin: fix jpeg passthrough to decoder sinks by marking image/* as video stream
2013-04-12 11:51:30 +01:00
Sebastian Dröge
882677eb8e
videoscale: Allow passthrough for ANY caps features
2013-04-08 08:30:38 +02:00
Sebastian Dröge
d0133a2d11
videoconvert: Allow passthrough for ANY caps features
2013-04-08 08:30:38 +02:00
David Schleef
c07efdabd8
videoscale: set reasonable limits on properties
...
Properties sharpen, sharpness, and envelope are only useful
near their default values. Decrease ranges to avoid brokenness.
https://bugzilla.gnome.org/show_bug.cgi?id=682171
2013-04-06 13:19:44 -07:00
Stefan Sauer
c2b34b05de
videoscale: set min value to DBL_MIN to avoid a value of 0.0 that would crash
2013-04-05 22:39:43 +02:00
Wim Taymans
92b77c5aa4
decodebin2: forward all sticky events to decodepad
...
Forward all sticky events to the decodepad before exposing the pads. This makes
sure all sticky events are on the exposed pad.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696915
2013-04-04 15:00:52 +02:00
Wim Taymans
c082c06b6c
decodebin: debug sticky events on exposed pads
2013-04-04 14:53:32 +02:00
Wim Taymans
08dd2454cd
decodebin2: small cleanup
...
Take the event from the probe just once.
2013-04-04 14:37:15 +02:00
Wim Taymans
34eea4d5f2
streamsynchronizer: update position for reverse
...
When doing reverse playback the positino advances from timestamp_end to
timestamp.
2013-03-31 12:57:35 +02:00
Edward Hervey
b3d94bd0e4
encodebin: Add action signal to get pad for a given profile
...
This allows getting a pad for a specific encoding profile, which can
be useful when there are several stream profiles of the same type.
Also update the encodebin unit tests so that we check that the returned
pad has the right caps.
https://bugzilla.gnome.org/show_bug.cgi?id=689845
2013-03-31 12:02:05 +02:00
Wim Taymans
bc4238f959
videoconvert: use one matrix function
...
Use only one matrix function pointer, let the implementation cast the pixels to
the right size.
2013-03-30 19:14:40 +01:00
Wim Taymans
43a9bfae78
videoconvert: use one temp array for lines
...
Use only one temporary array for pixels.
2013-03-30 19:14:40 +01:00
Sebastian Dröge
3475d4f457
decodebin: Remove GstdecodePads that are not going to be exposed
...
This makes sure that they're unlnked and don't cause any errors or
block the pipeline.
2013-03-30 17:17:04 +01:00
Sebastian Dröge
7f78f7f9e3
playbin: Ignore caps from audio/video sink factories if there are fixed sinks already
2013-03-30 12:15:38 +01:00
Sebastian Dröge
57a0806b3a
playbin: Handle caps queries from unlinked elements
...
Pass them to all possible sinks and the current sinks to
allow elements to chose a more optimal initial caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
0932391d3f
decodebin: Add autoplug-query signal to handle queries for yet unconnected elements
...
This allows playbin to answer the CAPS query with the possible sink
caps for example, and allows decoders to chose more optimal caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
9ce0818c7d
decodebin: Don't add a children to a decode group twice
...
This can happen if a demuxer does not provide fixed caps from the
beginning but only sets them later.
2013-03-30 11:49:42 +01:00
Stefan Sauer
fbf2647f3e
audiotestsrc: fix a comment typo from previous commit
2013-03-29 17:16:17 +01:00
Stefan Sauer
f68c95ebaa
audiotestssrc: truncate the seek pos to the sample and round the time
...
Before it was done the other way around and that can trigger the assert that
already is in place. This also makes more sense; when seeking to time x, we want
then sample that is <= that pos.
2013-03-29 16:46:14 +01:00
Wim Taymans
701ae2f144
videoconvert: respect the pack_lines when packing
...
Packing is supposed to happen on the amount of lines specified in the format
info. It's currently all set to 1 but that will change.
2013-03-28 18:16:09 +01:00
Wim Taymans
33a54ba4f3
videoconvert: be smarter when selecting a conversion
...
Try to select the conversion that would result in the minimal amount of quality
loss. Quality loss is calculated rather arbitrarily but it avoids doing
something really stupid in most cases.
2013-03-28 18:15:24 +01:00
Wim Taymans
3532323817
videoconvert: small cleanup
2013-03-28 18:15:24 +01:00
Stefan Sauer
f19acfc60b
uridecodebin: remove commented code
...
This is dead since ~6 years.
2013-03-28 12:36:51 +01:00
Stefan Sauer
8c390fe80a
audiotestsrc: simplify the caps
...
Drop channel-mask as we only do mon/stereo and channel-mask is optional in these
cases.
2013-03-25 16:47:02 +01:00
Simon Berg
f18d2a5a9a
audiotestsrc: fix rounding errors that might cause segments to be one sample too short
...
https://bugzilla.gnome.org/show_bug.cgi?id=676884
2013-03-24 20:53:05 +00:00
Simon Berg
d8b42e993b
audiotestsrc: fix buffer size of last buffer
...
The last buffer before EOS may be smaller than the maximum
size. The current code doesn't adjust for this, it only sets
the duration and offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=696411
2013-03-24 20:53:05 +00:00
Wim Taymans
a092cbee5e
videoconvert: avoid double free
...
Set variable to NULL after free so that we don't free twice.
2013-03-24 00:38:22 +01:00
Wim Taymans
b1950b6409
Revert "videoconvert: prevent bad interlaced conversions"
...
This reverts commit adc9694ed7
.
No need to restrict the conversion, we can handle interlace correctly. We
basically unpack each field, then convert each field to the target colorspace
and pack and interleave each field to the target format. We also disable any
fast path that can't deal with interlaced formats.
2013-03-24 00:21:36 +01:00
David Schleef
adc9694ed7
videoconvert: prevent bad interlaced conversions
...
Don't allow conversion that changes vertical subsampling if video
is interlaced.
2013-03-22 17:24:43 -07:00
Arnaud Vrac
4816885ce3
subparse: fix off by one offset calculation
...
Do not use the buffer start offset when it is invalid, otherwise a
discontinuity is detected on the next buffer, and the subtitle parser
reset and some subtitle lines are not shown.
Also remove unused next_offset field.
https://bugzilla.gnome.org/show_bug.cgi?id=693981
2013-03-22 11:09:11 +00:00
Tim-Philipp Müller
c7855b5505
typefinding: fix y4m caps
...
We need to specify the y4mversion field now.
https://bugzilla.gnome.org/show_bug.cgi?id=696282
2013-03-22 09:35:21 +00:00
Sebastian Dröge
383f58b0ed
subtitleoverlay: Return ANY caps for the GET_CAPS query
...
subtitleoverlay handles any caps, not just the ones
for which a subtitle parser/renderer exist. It will
just ignore any unsupported streams instead of causing
an error.
https://bugzilla.gnome.org/show_bug.cgi?id=688476
2013-03-21 15:37:31 +01:00
Sebastian Dröge
9084bc151b
playsinkconvertbin: Make sure to return all allowed caps in the GET_CAPS query
...
Add all the caps that we can convert to to the filter caps,
otherwise downstream might just return EMPTY caps because
it doesn't handle the filter caps but we could still convert
to these caps, causing us to return EMPTY caps although
conversion would be possible.
https://bugzilla.gnome.org/show_bug.cgi?id=688803
2013-03-21 13:42:41 +01:00
Sebastian Dröge
d06c332655
playsinkconvertbin: Use gst_caps_is_subset() for handling the ACCEPT_CAPS query
2013-03-21 11:42:43 +01:00
Sebastian Dröge
575f0640ed
videoscale: Let the add-borders property default to TRUE
...
It's undesirable most of the time that the display aspect ratio
is changed.
2013-03-21 11:14:41 +01:00
Jan Schole
8e791d52aa
videoscale: Correct DAR and border calculations
...
changed: gst_video_scale_set_info in gst/videoscale/gstvideoscale.c
DAR on sink side now calculated with PAR on sink side
ratio of output width/height now calculated with inverse PAR
additional condition that borders are 0:0 for passthrough mode
https://bugzilla.gnome.org/show_bug.cgi?id=696019
2013-03-21 11:13:49 +01:00
Stefan Sauer
60ccc2f17f
adder: add a missing break
2013-03-11 22:46:45 +01:00
Stefan Sauer
c6c27b9926
videotestsrc: make colors controlable
...
Also trim since markers.
2013-03-07 09:39:14 +01:00
Tim-Philipp Müller
7dd2fad888
uridecodebin: minor GValue handling optimisation
2013-03-03 17:44:11 +00:00
Sebastian Dröge
5a58f8b9ec
videoscale: Fix compiler errors caused by not including config.h
...
_stdint.h requires config.h to be included to properly
use the correct code to get uint8_t and friends.
2013-03-02 19:29:40 +01:00
Stefan Sauer
e2d0a1835b
adder: don't discard the flush-start events
...
This reverts one more part of a86ca535c8
and
hopefully fixes #694553 for good.
2013-02-27 22:07:11 +01:00
Stefan Sauer
13e8c9878a
adder: fix looping
...
Use gst_segment_do_seek() and clip position before updating the segment.
2013-02-27 22:07:11 +01:00
Stefan Sauer
8ea1f331b3
adder: remove defines we don#t use anymore
2013-02-27 22:07:11 +01:00
Stefan Sauer
1504153012
adder: mark pending flush-stop on segment event
...
Also add more debug logging. Fixes #694553 .
2013-02-25 19:55:00 +01:00
Sreerenj Balachandran
9791f0aaf1
typefindfunctions: recognize SVC and MVC nal units in h264 streams
...
Ensure the detection of svc and mvc as a part of h264 stream.
Once the typefinder detect a subset_sequence_parameter_set(ssps),
then each nal unit with type 14 or 20 should be detected as a
part of h264 stream thereafter.
https://bugzilla.gnome.org/show_bug.cgi?id=694346
2013-02-21 12:20:36 +00:00
Stefan Sauer
a86ca535c8
adder: ensure sending a flush-stop after flush-start
...
Previously adder was only sending the flush-stop, when it saw the flushing seek.
If one sends a flushing see direcly to an element upstream of adder, it would
fail to unflush the downstream pads.
2013-02-21 10:11:32 +01:00
Vincent Penquerc'h
bccfc679b5
encodebin: activate ghost pad after creating it
...
This ensures the ghost pad will not stay in flushing mode
when it receives a flush stop event, and generally behave
badly.
This fixes at least one case of a dynamic decodebin2 + encodebin
pipeline finding a source that has not prerolled when it should
have been (due to the ghostpad staying in flushing mode).
2013-02-14 16:07:48 +00:00
Matej Knopp
1e5b50e94c
decodebin: don't block on caps
2013-02-14 11:37:54 +01:00
Sebastian Dröge
cfd73a8cf7
decodebin: Remove left-over line from last commit
2013-02-14 11:25:37 +01:00
Matej Knopp
872cc295a6
decodebin: Check if value is set before unsetting it
...
https://bugzilla.gnome.org/show_bug.cgi?id=693401
2013-02-14 11:22:34 +01:00
Tim-Philipp Müller
03d4a69df4
typefinding: add parsed=true to mp3 and mpeg2 video ES caps
...
Because we can, and that's also what we do for other formats.
2013-02-13 21:02:39 +00:00
Stefan Sauer
cff9fccc69
adder: use the collect_pads_query func
...
We were setting the query-func on the sink-pad, which got overwritten when
adding the new pad to collect pads. Instead register our query-func with the
collect pads object. This fixes filter caps. Add a test for it.
2013-02-13 21:11:41 +01:00
Vincent Penquerc'h
17cdb54aa4
encodebin: sync muxer state with parent bin
...
Other elements were synced, but not the muxer.
2013-02-12 17:27:10 +00:00
Alexander Schrab
e7caef6b29
decodebin: Push caps event immediately to ghost pad to avoid exposing pads without caps
2013-02-12 10:12:14 +01:00
Marc Leeman
f704b3f975
decodebin: g_mutex_new -> g_mutex_init
...
Don't use deprecated GLib API.
https://bugzilla.gnome.org/show_bug.cgi?id=693302
2013-02-07 13:51:17 +00:00
Tim-Philipp Müller
dce49a1a7e
video: fix return type of _get_palette() and add since markers to docs
...
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928 .
2013-02-06 12:43:51 +00:00
Wim Taymans
ebf24e292e
videotestsrc: use video library palette
...
Use the palette provided and used by the video library instead of making our own
copy.
2013-02-05 11:20:20 +01:00
Wim Taymans
0085a77919
videoscale: scale each field in interlace mode
...
When we are dealing with interlaced content, scale each field intependently so
that we don't destroy the interlacing.
See https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-05 10:49:57 +01:00
Wim Taymans
be866d4b78
videoconvert: interlace support to some fastpath functions
...
Add interlace support for some fastpath functions.
2013-02-04 16:21:20 +01:00
Wim Taymans
599880ff8d
videoconvert: make fast path interlaced aware
...
Make sure that we also handle interlacing when choosing the fast path.
See https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-04 15:40:02 +01:00
Wim Taymans
e3a9a7cf07
videoconvert: pass frame interlaced flag to pack/unpack
...
If the frame is interlaced, pass the interlaced flag to the pack/unpack
functions to make it unpack correctly.
2013-02-04 15:19:35 +01:00
Wim Taymans
ed2ce49499
videoconvert: use the palette helper functions
...
Get the palette from the video library instead of making our own.
2013-02-04 15:06:10 +01:00
Wim Taymans
9b95f9de95
videoconvert: make a constant of scale factor
2013-02-04 15:06:06 +01:00
Tim-Philipp Müller
500b864899
decodebin: try harder to always expose pads in the same order
...
Use stream-id as sort criterion in addition to the media type.
https://bugzilla.gnome.org/show_bug.cgi?id=634407
2013-01-19 13:03:03 +00:00
Tim-Philipp Müller
fcd8566665
typefinding: add typefind functions for SBC audio
...
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-15 17:27:31 +00:00
Stefan Sauer
8296b683ca
volume: a return value of FALSE from the controller is not fatal
...
A return value of FALSE here indicates that we don't have control-values. In
0.10 we were returning the default value of the property. Now we don't fill an
array with defaults in the ControlBinding, but leave it up to the element to
handle this case.
2013-01-09 23:15:06 +01:00
Wim Taymans
0feecef275
decodebin2: use NO_RESYNC flag
...
to avoid the state change function from messing with the state of the elements
that we add.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690420
2012-12-21 16:38:36 +01:00
Thibault Saunier
e79f0e801e
encodebing: Use the preset_name as the factory name and preset as the name of the preset
...
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Tim-Philipp Müller
53072a4326
ssaparse: ignore invalid UTF-8 in init section
...
The codec data blob we get from matroskademux with the SSA/ASS
init section is supposed to be valid UTF-8. If it's not, just
continue with the bits that are valid UTF-8 instead of erroring
out. We don't actually parse the init section yet anyway..
https://bugzilla.gnome.org/show_bug.cgi?id=607630
2012-12-17 01:09:11 +00:00
Tim-Philipp Müller
6549db36cd
subparse: fix GError leak
2012-12-16 12:34:14 +00:00
Tim-Philipp Müller
2f177a7616
typefinding: detect stand-alone SSA/ASS subtitle files
...
https://bugzilla.gnome.org/show_bug.cgi?id=625113
2012-12-16 12:11:27 +00:00
Wim Taymans
66cafcc34d
playsink: fix vis switch with format change
...
Block the pad before the resample and convertor elements to give the a chance to
negotiate new caps with the newly switched vis plugin.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976
2012-12-13 11:34:54 +01:00
Tim-Philipp Müller
4c58077f22
typefindfunctions: aac: don't try to unref NULL caps
2012-12-12 15:31:20 +00:00
Thibault Saunier
7358cba017
encodebin: Make use of the new preset_name when setting a preset
...
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)
+ Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Tim-Philipp Müller
0b172593fa
tcp: print warning if someone tries to add clients in NULL state
...
And mention this in docs.
https://bugzilla.gnome.org/show_bug.cgi?id=689326
2012-12-02 12:54:17 +00:00
Tim-Philipp Müller
7c89a7298a
streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
...
When the input buffers for a stream don't have a duration set,
timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
EOSed streams via GAP events (with other streams not yet EOS), we
would then use the invalid timestamp_end to calculate the duration
of the gap. This in turn would make baseaudiosink abort, because it
would try to allocate memory for a trizillion samples.
So if buffers don't have a duration set, assume a duration of
one second for stream catch-up purposes, just so we can still
continue to catch up in those cases. And make sure that
timestamp_end is valid before doing calculations with it.
http://bugzilla.gnome.org/show_bug.cgi?id=678530
2012-11-26 19:03:38 +00:00
Tim-Philipp Müller
601aabdf9c
streamsynchronizer: reduce debug log spam a bit
...
Log locking/unlocking with TRACE debug level.
2012-11-25 18:07:04 +00:00
Sebastian Dröge
830b500d40
decodebin: Set element to NULL state before removing it from the bin
2012-11-22 13:09:46 +01:00
Sebastian Dröge
2faef82b9a
decodebin: Check if the element really accepts the caps after setting it to READY
...
It might know the caps constraints for sure only after opening a decoder.
2012-11-22 13:07:11 +01:00
Sebastian Dröge
4f480612e9
streamsynchronizer: Make the element public
...
https://bugzilla.gnome.org/show_bug.cgi?id=688240
2012-11-21 10:29:44 +01:00
Tim-Philipp Müller
61f04f1460
typefinding: improve AAC LOAS typefinding
...
Make AAC LOAS typefinding a bit more reliable; don't report
a LIKELY probability already after just two sync points, but
scan for a few more consecutive frames and determine probability
based on how many we found. Fixes mis-detection of wavpack file.
https://bugzilla.gnome.org/show_bug.cgi?id=687674
2012-11-11 20:08:52 +00:00
Tim-Philipp Müller
bccb3feebf
typefinding: improve wavpack typefinder
...
Check for second block sync and return different
probabilities depending on what we found (trumping
the AAC loas typefinder's LIKELY probability after
finding a second frame sync in this particular case).
https://bugzilla.gnome.org/show_bug.cgi?id=687674
2012-11-11 20:08:17 +00:00
Tim-Philipp Müller
20c9d2d2cc
typefinding: fix block size calculation in wavpack typefinder
...
The blocksize includes part of the header, just not the sync
marker and the four size bytes.
2012-11-11 19:44:31 +00:00
Thiago Santos
a4cfe8c43c
typefind: isml is iso-fragmented video/quicktime
...
Add isml typefinding to the video/quicktime function
2012-11-07 01:40:18 -03:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
9e6021fe4b
audioconvert: Always prefer the input format if possible
...
Previously we could've chosen another format with the same
depth even if the input format was possible.
Also make sure to chose according to the order in the
caps.
2012-11-01 16:44:05 +01:00
Sebastian Dröge
bc4389806d
audioconvert: Also ignore the SIGNED flag when matching an output format
2012-11-01 14:31:29 +01:00
Rasmus Rohde
c286f8ffa2
audioconvert: Prefer output formats with the same depth or at least a higher depth
...
Enhance current code to prefer an exact match on sample depth if
possible. Also ignore GST_AUDIO_FORMAT_FLAG_UNPACK when checking
equality on the flags.
2012-11-01 14:29:43 +01:00
Tim-Philipp Müller
8abc646ecb
gio: handle g_vfs_get_supported_uri_schemes() returning NULL
...
Handle g_vfs_get_supported_uri_schemes() returning NULL more
gracefully, without criticals for passing NULL to g_strv_length().
2012-10-29 13:31:28 +00:00
Sebastian Dröge
3864209f6e
audioresample: Use auto sinc table mode by default
2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
d793a2b560
audioresample: added ARM NEON support
...
This adds ARM NEON accelerated code paths for 16-bit integer
and 32-bit floating point samples.
It is a modified combination of patches #3 and #5 from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html &
http://lists.xiph.org/pipermail/speex-dev/2011-September/008238.html )
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
19073ab8c4
audioresample: changed inner_product_single semantics
...
This is an adaptation of patch #3 from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html ),
but without the NEON optimizations (these come in a separate commit).
The idea is to replace SATURATE32(PSHR32(x, shift), a) operations with a
combined SATURATE32PSHR(x, shift, a) macro that can be optimized for
specific platforms (and also avoids rare rounding errors).
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
c41faa3d8e
audioresample: sinc filter performance improvements
...
Original idea comes from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008243.html ).
Patch was discovered by Branislav Katreniak
( branislav.katreniak@streamunlimited.com ) for StreamUnlimited
( http://streamunlimited.com/ ). Tests showed up to 5x speed increase in
the resampler in the 44.1<->48kHz case.
I added the sinc-filter-mode and sinc-filter-auto-threshold properties
and the auto mode threshold tests, and adapted the code to GStreamer 1.0.
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Sebastian Dröge
b9d4d0cd29
streamsynchronizer: Also send a GAP event to let audio sinks start their clock in case they did not have enough data yet
2012-10-24 13:34:15 +02:00
Sebastian Dröge
6a31051feb
streamsynchronizer: Use correct timestamp/duration for the GAP events
2012-10-24 13:29:45 +02:00
Sebastian Dröge
3c1041d5eb
Revert "gst: Add better support for static plugins"
...
This reverts commit d2d79e3bc2
,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
52d48109bc
streamsynchronizer: Send GAP events to advance streams
2012-10-24 13:25:19 +02:00
Sebastian Dröge
d2d79e3bc2
gst: Add better support for static plugins
2012-10-24 12:10:44 +02:00
Sebastian Dröge
7b12afa4cb
streamsynchronizer: Create a GAP event with a sensible timestamp
2012-10-24 11:19:06 +02:00
Sebastian Dröge
356579157e
streamsynchronizer: Also propagate return value of pushing GAP event upstream
2012-10-23 18:21:32 +02:00
Sebastian Dröge
120c7be970
streamsynchronizer: Return TRUE from the EOS handler
2012-10-23 17:38:43 +02:00
Sebastian Dröge
ce0bfbb7cc
tcp: sys/socket.h is needed for getsockname() and similar functions
2012-10-22 15:45:47 +02:00
Wim Taymans
a5ef81e05e
videoconvert: add more debug
2012-10-22 09:51:34 +02:00
Tim-Philipp Müller
0ea6526770
tcpserver{sink,src}: improve docs and property strings
...
And some minor clean-ups.
2012-10-19 18:29:56 +01:00
Alexandre Relange
d2f1d82778
tcpserver{sink,src}: add 'current-port' property and signal actually used port
...
Useful when port=0 (use random available port) was requested.
https://bugzilla.gnome.org/show_bug.cgi?id=580093
2012-10-19 18:23:20 +01:00
Mark Nauwelaerts
a66ff00908
audioconvert: enhance transforming caps
...
... so as to preserve input format precision,
and preferably not convert at all.
2012-10-19 16:02:44 +02:00
Wim Taymans
d73dcb6af3
videotestsrc: make and copy palette
2012-10-15 16:33:24 +02:00
Wim Taymans
f3f08e829d
videoconvert: actually copy the palette
...
Copy the default palette in the destination buffer too.
2012-10-15 16:32:25 +02:00
David Corvoysier
87fd43aaaa
decodebin2: Fix group switching algorithm
...
There were two issues with the previous decodebin2 group switching algorithm:
Issue 1: It operated with no memory of what has been drained or not, leading to
multiple checks for chains/groups that were already drained.
Issue 2: When receiving an EOS, it only detected that a higher-level chain
was drained if it contained the pad receiving the EOS.
The following modifications have been applied:
- a new drained property has been added to GstDecodeChain
- both drained properties of chain/group are set as soon as they are detected
- the algorithm now tests agains these values
See https://bugzilla.gnome.org/show_bug.cgi?id=685938
2012-10-14 10:58:18 +02:00
Sebastian Dröge
80e4f3e912
playsinkconvertbin: Change GST_WARNING to GST_INFO
...
It's not a problem if we have no converters, this only means
that none were requested at this point.
2012-10-10 11:50:12 +02:00
Wim Taymans
3591df23b1
docs: playbin2 -> playbin
2012-10-09 12:20:10 +02:00
Tim-Philipp Müller
81097f485a
playback: class_ref() some types so we can create multiple playback elements at the same time
...
Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
and subsequent errors when creating multiple players at the same time.
Conflicts:
gst/playback/gststreamselector.c
2012-10-03 11:48:25 +01:00
Alban Browaeys
579458f613
encodebin: muxer sink pad is not always a request pad
...
GstId3Mux sink pad is an always (static) pad. Thus releasing it
as if a request pad triggers:
(sound-juicer:11826): GStreamer-CRITICAL **:
gst_element_release_request_pad: assertion `GST_PAD_PAD_TEMPLATE (pad)
== NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
GST_PAD_REQUEST' failed
https://bugzilla.gnome.org/show_bug.cgi?id=685110
2012-09-30 15:08:17 +01:00
Tim-Philipp Müller
6842698f0d
Purge all references to liboil
...
And remove unused ffmpegcolorspace tests in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 11:47:52 +01:00
Sebastian Dröge
a3878f8bb8
videoconvert: Set correct plugin metadata
2012-09-25 13:16:45 +02:00
Thiago Santos
386206e627
videotestsrc: keep track of the correct running time after renegotiations
...
Need to store the old running time and frame numbers when renegotiating and
start from 0 again when a new caps is set, preventing that framerate changes
cause timestamping issues.
For example, if a stream pushed 10 buffers on framerate=2/1, its
running time will be 5s. If a new framerate of 1/1 is set, it would
make the running time go to 10s as it would count those 10 buffers
as being sent on this new framerate.
Fixes camerbin unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=682973
2012-09-23 17:48:56 +01:00
Tim-Philipp Müller
cec6d634b6
adder: send stream-start event, and send caps event after stream-start
...
Delay sending of caps event so that it is sent only after
the stream-start event.
2012-09-23 13:31:17 +01:00
Mark Nauwelaerts
17e3dc3357
audioresample: mark semi-unused variable
...
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c: In function 'gst_audio_resample_dump_drain':
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c:729:9: warning: variable 'in_len' set but not used [-Wunused-but-set-variable]
2012-09-18 13:16:39 +02:00
Sebastian Dröge
b19944d1e4
gst: Update for link/unlink function API change
2012-09-17 13:24:52 +02:00
Mark Nauwelaerts
e491d24341
use gst_element_factory_get_metadata to replace obsolete API
2012-09-15 18:57:09 +02:00
Mark Nauwelaerts
c629a44162
replace gst_tag_list_free with gst_tag_list_unref
2012-09-14 17:53:21 +02:00
Wim Taymans
acb3aeebd4
fix caps
2012-09-14 13:22:31 +02:00
Andreas Frisch
6e469b2ac5
playbin: subtitleoverlay: don't segfault in incorrectly init'ed plugins
...
https://bugzilla.gnome.org/show_bug.cgi?id=683865
2012-09-14 08:49:47 +01:00
Tim-Philipp Müller
f7c6aa5abd
Release 0.11.94
2012-09-14 02:47:54 +01:00
Tim-Philipp Müller
082cedef79
streamsynchronizer: don't shadow function parameter
2012-09-14 00:39:09 +01:00
Stefan Sauer
b9054de15c
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:03:21 +02:00
Edward Hervey
5f4bd0a4e8
subparse: Call default query handler
2012-09-11 16:29:21 +02:00
Edward Hervey
b5090d2aca
streamsynchronizer: Don't wait on non-time streams
...
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.
Fixes blocking issue when using playbin suburi feature
2012-09-11 16:29:21 +02:00
Wim Taymans
280e504ae5
videoscale: improve handling of navigation events
...
Only make the navigation event writable when we need to change it.
2012-09-11 10:56:43 +02:00
Tim-Philipp Müller
6b670d701c
gdp: move gdp plugin to -bad
...
It needs to be reworked for 1.0
2012-09-11 01:33:11 +01:00
Mark Nauwelaerts
23dde756e6
videoscale: remove defunct commented code
2012-09-10 14:03:49 +02:00
Mark Nauwelaerts
6a87cb5248
tcp: adjust comment style
2012-09-10 14:03:49 +02:00
Tim-Philipp Müller
952f347146
playback: port to new GLib thread API
2012-09-10 01:10:24 +01:00
Tim-Philipp Müller
2079a8c12b
Remove glib-compat-private.h stuff we don't need any more
...
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Tim-Philipp Müller
c0288304a9
gdp: dump bytes into debug log using GST_MEMDUMP
...
Instead of home-grown solution.
2012-09-09 18:05:55 +01:00
Tim-Philipp Müller
6d0a4ac8d5
audiorate: default to tolerance = 40ms instead of 0
...
People expect audiorate to fix things up and not make things worse
by default, so let's default to a similar tolerance as audiosinks
do. Should help with transcoding and the like, though one might
possible still want higher values then.
2012-09-09 15:58:36 +01:00
Tim-Philipp Müller
9f1856a7a5
videoconvert: fix up dither method enum GType name for consistency
2012-09-09 15:12:14 +01:00
Tim-Philipp Müller
9efb5f5af2
multi{fd,socket}sink: rename client-handle-removed signal to client-{fd,socket}-removed
2012-09-09 02:00:49 +01:00
Tim-Philipp Müller
84a3add409
multifdsink, multisocketsink: fix broken action signal setup
...
We can't just make a vfunc that takes a union of int
and pointer as argument, and then set up subclass-specific
action signals and signals that take int (in multifdsink's
case) or a GSocket * (in multisocketsink's case), and then
expect everything to Just Work. This blows up spectacularly
on PPC G4 for some reason.
Fixes multifdsink unit test on PPC, and fixes aborts in
multisocketunit test (now hangs in gst_pad_push - progress).
2012-09-09 01:57:59 +01:00
Mark Nauwelaerts
782adaf3ab
streamsynchronizer: do not leak EOS events
2012-09-06 15:03:49 +02:00
Mark Nauwelaerts
22d7149ba6
audioconvert: plug leak
2012-09-06 14:02:07 +02:00
Wim Taymans
b26f35c3a4
streamsync: only remove DISCONT when needed
...
Check if the buffer is DISCONT before making a potentially expensive copy to
unset the DISCONT flag.
2012-09-06 13:37:11 +02:00
Mark Nauwelaerts
d3a0269695
streamsynchronizer: use GAP event to trigger preroll
...
... rather than an empty buffer
2012-09-05 16:59:12 +02:00
Wim Taymans
f3158569c6
streamsync: unblock gcond on flush-stop
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680441
2012-09-04 11:09:50 +02:00
Wim Taymans
ac61fb5221
playsink: unblock pads before releasing
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679823
2012-09-04 10:06:01 +02:00
Tim-Philipp Müller
7c2e7b1a4f
text/plain + text/x-pango-markup -> text/x-raw
2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
7b89dddede
encodebin: rename flags type name
2012-08-29 19:23:57 +01:00
Tim-Philipp Müller
0301aaa30d
playbin: automatically deinterlace interlaced content by default
2012-08-26 22:26:08 +01:00
Tim-Philipp Müller
5b715cdb90
video/x-dvd-subpicture -> subpicture/x-dvd
2012-08-20 21:36:15 +01:00
Tim-Philipp Müller
8d284f8387
videoscale: mark Lanczos method as experimental/unstable
...
It's known to crash in some circumstances.
2012-08-18 21:33:38 +01:00
Edward Hervey
d86f6132ed
streamsynchronizer: Handle stream switching
...
* Update outgoing segment.base with accumulated time, ensuring all
streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
2012-08-14 18:56:30 +02:00
Sreerenj Balachandran
fe08923628
videoconvert: fix example pipeline in docs
...
There is no more 'fourcc' typecast for format.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 11:21:51 +01:00
Tim-Philipp Müller
17c839c8a1
No statements with side-effects in g_assert() or g_return_*() please
2012-08-08 10:11:48 +01:00
Tim-Philipp Müller
d4f582edd6
tests: silence FIXMEs when running videoscale unit test
2012-08-05 17:21:31 +01:00
Tim-Philipp Müller
452b38560c
encodebin: use generic marshaller for signal
2012-08-05 14:02:01 +01:00
Tim-Philipp Müller
24478261a2
adder: send CAPS event downstream fixing not-negotiated errors
...
Make sure to send a CAPS event downstream when we get our
first input caps. This fixes not-negotiated errors and
adder use with downstream elements other than fakesink.
Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.
Also, flag the other sink pads as FIXED_CAPS when we receive
the first CAPS event on one of the sink pads (in addition to
setting those caps on the the sink pads), so that a caps query
will just return the fixed caps from now on.
There's still a race between other upstreams checking if
caps are accepted and sending a first buffer with possibly
different caps than the first caps we receive on some other
pad, but such is life.
Also need to take into account optional fields better/properly.
https://bugzilla.gnome.org/show_bug.cgi?id=679545
2012-08-05 00:41:10 +01:00
Tim-Philipp Müller
7892e1e22f
videoscale: fix 4-tap scaling for 64-bpp formats
...
Fix invalid memory access caused by broken pointer arithmetic.
If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
2012-08-04 22:05:21 +01:00
Tim-Philipp Müller
a314325002
videoscale: sprinkle some G_GNUC_INTERNAL
...
Not sure it actually makes any difference for plugins though.
2012-08-04 22:05:20 +01:00
Tim-Philipp Müller
4c6ea69464
videoscale: make 4tap scanline funcs static
2012-08-04 22:05:20 +01:00
Sebastian Dröge
99d73c94e9
tag: Update for taglist/tag event API changes
2012-07-28 00:35:02 +02:00
Wim Taymans
683a38ad65
update for new variable names
2012-07-27 15:24:43 +02:00
Sebastian Dröge
628bc44ca5
streamsynchronizer: Unblock streams on FLUSH_START events
2012-07-27 12:59:20 +02:00
Wim Taymans
7f23e75f3c
videoconvert: small cleanups
...
Make function pointers NULL when nothing needs to be done.
Pass target pixels to dither and matrix functions so that we can later make
them operate on the target buffer memory directly.
2012-07-27 12:19:04 +02:00
Mark Nauwelaerts
88e73f8515
audioconvert: prefer channels of base caps when fixating
...
... which in turn prefers to preserve input channels when converting.
2012-07-25 15:58:19 +02:00
Edward Hervey
2f37ba60a2
decodebin2: Mark streams as complete on CAPS event but don't block
...
This allows the following use-cases to expose the group and pads
before an ALLOCATION query comes through:
* Single stream use-cases
* Multi stream use-cases where all streams sent the CAPS event before
the first ALLOCATION query
Some cases will still make the initial ALLOCATION query fail though,
which isn't optimal, but not fatal (it will recover when pads are
exposed, a RECONFIGURE event is sent upstream and elements can
re-send an ALLOCATION query which will reach downstream elements).
https://bugzilla.gnome.org/show_bug.cgi?id=680262
2012-07-24 10:53:19 +02:00
Wim Taymans
8c5ce3adb8
videotestsrc: prefix orc functions with video_test_src_orc
2012-07-24 09:09:22 +02:00
Wim Taymans
624051f811
volume: prefix orc functions with volume_orc_
2012-07-23 17:30:50 +02:00
Wim Taymans
ebb4116412
adder: prefix orc functions with adder_orc_
2012-07-23 17:27:46 +02:00
Wim Taymans
5d3b56e9c4
audioconvert: prefix orc functions with audio_convert_orc_
2012-07-23 17:24:13 +02:00
Wim Taymans
1e8c480dd7
videoconvert: prefix orc functions with video_convert_orc_
2012-07-23 17:19:56 +02:00
Wim Taymans
aefd1a5d6d
videoscale: ranem gst_video_scale_orc -> video_scale_orc
...
So that functions are not exported
2012-07-23 17:13:29 +02:00
Wim Taymans
d4255d4339
videoscale: prefix orc functions with gst_video_scale_orc
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 17:03:53 +02:00
Edward Hervey
f72f4c09c9
streamsynchronizer: Re-enable stream update
...
Not 100% perfect yet, but allows people to test
2012-07-19 16:12:22 +02:00
Edward Hervey
c5901cebca
decodebin: Block on caps event
...
A caps event is also used to establish that a stream has prerolled.
Without this, we end up allowing negotiation queries to fail, ending
in decoders (and other elements) to not be configured right from the
start with the most optimal settings.
2012-07-18 18:17:57 +02:00
Wim Taymans
0423329f91
playback: update for ghostpad changes
2012-07-18 17:50:28 +02:00
Tim-Philipp Müller
0615794300
playbin: use avdeinterlace for deinterlacing until deinterlace is ported
2012-07-17 13:45:13 +01:00
Tim-Philipp Müller
e29098f8f0
videoscale: remove formats Y800 and Y16 which no longer exist from template caps
...
Should help with the unit test, which has been failing.
2012-07-17 00:27:17 +01:00
Wim Taymans
3d8636a662
videoconvert: use video helper function
...
Use the video helper function to get the offset and scale of a format.
2012-07-16 11:22:03 +02:00
Wim Taymans
fec11c7809
videotestsrc: fix 10 bits formats
...
We need to check the number of bits of the unpack format when we prepare the
pixels for the pack function.
2012-07-16 11:22:03 +02:00
Wim Taymans
04c4ca23b1
playsink: remove old marshal remains
2012-07-13 12:35:44 +02:00
Edward Hervey
dad72182a0
decodebin2: Demote WARNING to DEBUG
...
Delaying auto-plugging is quite common
2012-07-12 09:51:36 +02:00
Edward Hervey
a0fbf92d43
playback: Remove custom stream-change event
...
Applications can now use the STREAM_START message to know if a new
stream has started
2012-07-12 09:51:35 +02:00
Wim Taymans
a476b6cbfb
decodebin2: improve debug
2012-07-11 15:39:37 +02:00
Sebastian Dröge
a479886ff9
videoconvert: Fix compiler warnings
...
videoconvert.c: In function 'videoconvert_convert_new':
videoconvert.c:287:11: error: 'Kr' may be used uninitialized in this function
videoconvert.c:287:15: error: 'Kb' may be used uninitialized in this function
2012-07-11 12:57:28 +02:00
Wim Taymans
aa261162d2
videoconvert: fix offset and scale for GRAY
...
Fix the calculation of the offset and scale values for GRAY formats. We also
need to set the offset and base of the chroma values to match what the unpack
function creates.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679612
2012-07-10 11:08:00 +02:00
Tim-Philipp Müller
1dea99ded3
decodebin: make GValueArray arguments in autoplug-* signals static scope to avoid copies
2012-07-09 08:35:22 +01:00
Tim-Philipp Müller
924139f589
multifdsink: remove deprecated and unused "mode" property
2012-07-06 12:43:26 +01:00
Tim-Philipp Müller
81213ca040
playbin: don't use deprecated textoverlay properties
2012-07-06 12:37:56 +01:00
Wim Taymans
53fc1f3fca
update for query api changes
2012-07-06 11:50:44 +02:00
Wim Taymans
177fd005ab
update for query api changes
2012-07-06 11:23:48 +02:00
Wim Taymans
bc5ba349b7
update for allocation query changes
2012-07-06 11:05:09 +02:00
Sebastian Dröge
2f3637ca07
uridecodebin: Fix double-unref when iterating over element pads
2012-07-05 15:34:44 +02:00
Tim-Philipp Müller
99103be50c
playsink: make extra sure to pass 64-bit integer to g_object_set when setting ts-offset
...
Might just be paranoia, but better safe than sorry. Make sure
the compiler really always passes a 64-bit integer to the
g_object_set() vararg function.
2012-07-03 20:32:57 +01:00
Wim Taymans
044afd72eb
videotestsrc: set DTS and PTS, sync on DTS
2012-06-27 17:18:35 +02:00
Wim Taymans
f28e2e7bea
fix interlace-mode
2012-06-26 17:15:49 +02:00
Sebastian Dröge
6e4d7e466d
playsink: The default signal handler should be the one that triggers pad blocks and reconfiguration
...
Conflicts:
gst/playback/gstplaysink.c
2012-06-26 11:05:42 +02:00
Sebastian Dröge
78b2fc762b
playsink: Make sure to always block all pads before reconfiguring the pipeline
...
Fixes bug #678762 .
Conflicts:
gst/playback/gstplaysink.c
2012-06-26 10:59:59 +02:00
Sebastian Dröge
7ab77c6b32
playsink: Prevent NULL pointer dereference in last change
2012-06-25 16:08:47 +02:00
Sebastian Dröge
a038e5e583
playsink: Unlink pads when switching between enabling/disabling the deinterlace chain
...
See bug #678762 .
2012-06-25 16:02:23 +02:00
Sebastian Dröge
67bbfdde4e
playsink: Connect to the value-changed signal of the child colorbalance element and proxy it
2012-06-25 15:23:19 +02:00
Sebastian Dröge
c290fabf36
playsink: Only remove the xoverlay/colorbalance elements when necessary
...
They are not added again by every code path, e.g. when switching
only the deinterlace flag and are missing then.
Fixes bug #678763 .
Conflicts:
gst/playback/gstplaysink.c
2012-06-25 15:22:55 +02:00
Tim-Philipp Müller
95442368bd
smartencoder: use gst_quark_from_static_string()
2012-06-23 14:55:51 +01:00
Tim-Philipp Müller
43e4b44bb1
uridecodebin, tests: update for gst_element_make_from_uri() changes
2012-06-23 14:55:31 +01:00
Arnaud Vrac
b1ff7f95ad
playsinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps
...
Fixes bug #678403 .
2012-06-20 11:12:26 +01:00
Sebastian Dröge
ecb22ebd63
playbin2: Proxy the force-aspect-ratio property of video sinks
...
Fixes bug #678020 .
Conflicts:
gst/playback/gstplaybin2.c
2012-06-14 09:35:44 +02:00
Sebastian Dröge
32db1ea168
playsink: Proxy the force-aspect-ratio property of video sinks
2012-06-14 09:33:29 +02:00
Wim Taymans
655fef3dbf
update for message api change
2012-06-13 11:04:34 +02:00
Sebastian Dröge
e729ad1c9c
playback: Always prefer parsers over decoders
...
...and in playbin2 additionally prefer sinks over parsers.
This makes sure that we a) always directly plug a sink if it supports
the (compressed) format and b) always plug parsers in front of decoders.
2012-06-12 11:59:39 +02:00
Vincent Penquerc'h
0bd8070ebd
typefind: probe for DVD ISO files, to avoid matching H.264
...
https://bugzilla.gnome.org/show_bug.cgi?id=674069
2012-06-11 11:11:01 +01:00
Vincent Penquerc'h
512f96906e
playbin2: remove uridecodebin from bin when it fails to switch to PAUSED
...
This avoids that bin being leftover and being found when reusing playbin2,
and fixes restarting on a new URI after failing to activate with a previous
URI.
https://bugzilla.gnome.org/show_bug.cgi?id=673888
2012-06-08 17:35:06 +01:00
Sebastian Dröge
ce4f2c462c
videoconvert: Need $(LIBM) for pow()
2012-06-08 11:28:56 +02:00
Wim Taymans
14237251a2
playsink: fix compilation
2012-06-07 10:52:53 +02:00
Andre Moreira Magalhaes (andrunko)
88d3b7aeee
playbin2: Send flush events when changing subtitle tracks and use new input-selector modes for subtitle tracks
...
For audio/video we should flush too for fastest stream switches but this
currently isn't possible because the flushes would need to go to the sink,
which then causes state changes and causes all timing information to be
changed.
Should work out of the box in 0.11 with the flush-stop that doesn't reset
the times.
Conflicts:
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:09 -03:00
Sebastian Dröge
9d2e50136e
playsink: Don't use // comments and prevent unnecessary memory allocation
...
Conflicts:
gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
b41d19fa5f
playbin2: Properly change subtitles
...
Conflicts:
gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
605d5c110c
playbin2: fix subtitle only seeks when switching to external subs
...
Sending a non-flushing seek might not be enough for switching
to an external sub that has already been used because the flushes
are needed to reset the state of its decodebin's queue.
For example, if the subtitle is short enough, the queue might get
and EOS and keep its 'unexpected' return state. If the user switches
to another subtitle and back to the external one, the buffers
won't get past the queue.
This patch fixes this by adding the flush flag to the seek and
preventing that this flush leaves the suburidecodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=638168
Conflicts:
gst/playback/gstplaybin2.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
bd5cfff9de
gstplaysink: Properly reset chain when receiving a custom flush event.
...
https://bugzilla.gnome.org/show_bug.cgi?id=638168
Conflicts:
gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
0dfb331cfd
playsink: do not store more than a second of subtitles
...
Use a shorter queue for subtitles to avoid switches for subtitles
taking longer than they already take.
https://bugzilla.gnome.org/show_bug.cgi?id=638168
2012-06-06 16:31:08 -03:00
Thiago Santos
c095dc29fe
subtitleoverlay: pass correct parameter to debug message
...
Get the format name to pass to the debug message, as it expects a string
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
5627aa81bd
gstsuboverlay: Convert NewSegment events to always be in the TIME format.
...
https://bugzilla.gnome.org/show_bug.cgi?id=638168
Conflicts:
gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:07 -03:00
Wim Taymans
a2172bdb4b
update for tag event change
2012-06-06 13:05:47 +02:00
Wim Taymans
7a3830c40a
videotestsrc: Remove more redundant code
...
Use the video library to do the setup instead of keeping a separate incomplete
list.
2012-06-06 11:18:56 +02:00
Wim Taymans
dd907f2a6e
videotestsrc: don't artificially restrict caps
...
Use all the formats that the video library supports without any restrictions on
colorimetry or other parameters such as chroma-siting.
2012-06-06 11:18:56 +02:00
Wim Taymans
ec4ca4773a
videoconvert: refactor matrix setup
2012-06-04 20:36:10 +02:00
Wim Taymans
93c3a74755
videoconvert: fix 0_255 handling
...
We also need to apply an offset to the Cb and Cr samples in the 0-255 case.
2012-06-04 16:17:32 +02:00
Wim Taymans
29edc0c6a5
videoconvert: improve color transform setup
...
Remove hardcoded color matrices and compute the matrices using the cms helper
library that was in cogcolorspace before.
2012-06-04 16:17:31 +02:00
Wim Taymans
443b0a3c78
videoconvert: use video helper library more
...
Use VideoInfo to setup the conversion.
Use the color matrix from the video info.
2012-06-01 12:09:44 +02:00
Wim Taymans
7f134c1441
video: fix paletted format
...
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Bastien Nocera
02abd19584
uridecodebin: Use cache dir for download buffering
...
Instead of the temp directory. See:
http://0pointer.de/blog/projects/tmp.html
https://bugzilla.gnome.org/show_bug.cgi?id=677181
2012-05-31 12:54:49 +02:00
Wim Taymans
c7b2011d68
videoconvert: use video library pack/unpack
...
Remove obsolete code and use the video pack/unpack functions
2012-05-30 17:17:24 +02:00
Wim Taymans
d7af12a754
videotestsrc: enable more formats
2012-05-30 17:17:24 +02:00
Wim Taymans
0290e116eb
videotestsrc: use generic packing code
...
Use the pack functions of the video library to construct the target
image.
Remove redundant functions.
2012-05-29 17:52:07 +02:00
Wim Taymans
059a6ca673
video: update for removed formats
2012-05-29 17:52:06 +02:00
Wim Taymans
f859dcd699
videoconvert: remove unused functions
2012-05-29 17:52:06 +02:00
Wim Taymans
03dc5d4a1b
video: fix UYVP packing function
2012-05-28 17:11:46 +02:00
Wim Taymans
ae2c5e1757
videoconvert: fix v216
2012-05-28 16:31:14 +02:00
Wim Taymans
27d4061c6c
videotestsrc: add support for I420_10 format
...
Add support for the I420_10 formats
Use the video frame api to get pixels and strides instead of our own
custom versions. Fixes the YVU9 format and probably some others.
2012-05-28 16:16:24 +02:00
Wim Taymans
0d12423aa2
videotestsrc: fix AYUV64 format string
2012-05-28 14:58:52 +02:00
Wim Taymans
d2a1613a43
videoconvert: add support for 10bit I420
...
Add support for 10bit I420
Reorganize some macros, have separate plane and component macros, fix
a problem with YV12 in the process.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-28 12:59:40 +02:00
Wim Taymans
29d24d4658
playbin: add current-*uri properties
...
Make the uri property getter return the next uri, like it was configured in the
setter.
Make a new current-uri and current-suburi property that reflects the currently
playing uri and suburi.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676665
2012-05-25 15:18:46 +02:00
Wim Taymans
4ebfa58a70
playbin: fix compilation
2012-05-24 13:43:06 +02:00
Sebastian Dröge
a67d9b349d
playbin2: Put sinks before the other element factories in the autoplug factory list
...
This makes sure that we always prefer sinks that support a format without
decoding, independant of its rank. Previously we only sorted by rank.
Conflicts:
gst/playback/gstplaybin2.c
2012-05-24 11:50:40 +02:00
Sebastian Rasmussen
6c2aea9551
Fix bug where debug category was declared inside a function
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676670
2012-05-24 10:33:02 +02:00
Tim-Philipp Müller
1c77a3d801
encodebin: don't access GstElementFactory structure directly
2012-05-19 15:17:18 +01:00
Alban Browaeys
71e39c0e84
playsink: do not abort if a property is not found.
...
If a property is not found (for example last-sample when
gst_debug_bin_to_dot_file is used while the pipeline is
slightly broken (thus no last-sample) the unref of the item
gvalue which is not refed fails. Only unref if it was found.
2012-05-15 09:22:44 +02:00
Alban Browaeys
7e054c9af0
playsink: missing guard around gst pad add probe
...
This miss prevent from switching from one track to the other.
Issue encountered with rhythmbox and totem ports.
2012-05-15 09:22:12 +02:00
Mark Nauwelaerts
4ce453de97
playbin2: default text element is now subtitleoverlay
...
... and not so much textoverlay, though the former also uses the latter.
2012-05-14 10:14:36 +02:00
Tim-Philipp Müller
0e216d1f4c
typefinding, ogg: don't bother with annodex media types
...
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
2012-05-13 18:49:31 +01:00
Руслан Ижбулатов
d34b8023e9
playsink: fix printf arguments in debug message
2012-05-12 13:53:40 +01:00
Wim Taymans
6bd0272512
uridecodebin: fix format strings
2012-05-11 16:16:33 +02:00
Wim Taymans
cd1d6f7d2d
decodebin2: fix format strings
2012-05-11 15:33:31 +02:00
Wim Taymans
163720246e
decodebin2: fix compilation
2012-05-11 09:26:47 +02:00
Thibault Saunier
445c41963b
playback: Check type when setting "connection-speed" on unknown elements
...
Clamp the values if needed
2012-05-10 13:21:04 -04:00
Thibault Saunier
ee4ae0041c
decodebin2: Add a connection-speed property to set it on demuxers when needed
...
Proxy it from uridecodebin
2012-05-10 13:11:47 -04:00
Sebastian Dröge
cc717f1f62
playsink: Initialize variable to silence wrong compiler warning
2012-05-09 12:03:44 +02:00
Sebastian Dröge
d7371bc87c
playsink: Port changes to 0.11
2012-05-09 10:30:55 +02:00
Mark Nauwelaerts
e623bea6fa
playbin2: properly reconfigure upon subsequent no-more-pads
...
... such as during switch in chained ogg.
2012-05-09 10:28:35 +02:00
Sebastian Dröge
4e649b5bff
videotestsrc: Update for basesrc API changes
2012-05-01 13:33:20 +02:00
Wim Taymans
7736044d45
playsink: make playsink reusable
...
The sinkpads are unblocked when going from PAUSED->READY, we need to block them
again when going READY->PAUSED. The blocking of the pad previously only happened
when it was freshly obtained with _request_pad or when the caps changed. If we
don't release the pad when going to READY it was previously never blocked again
causing not-linked errors.
2012-05-01 12:19:11 +02:00
Wim Taymans
f21b7437e7
playsink: don't leak the colorbalance element
2012-05-01 12:09:31 +02:00
Tim-Philipp Müller
0bd4e5d1e1
typefinding: more fine-grained matroska/webm typefinding
...
Typefind to audio/x-matroska, video/x-matroska, audio/webm,
video/webm and video/x-matroska-3d.
http://www.webmproject.org/code/specs/container/#naming
http://matroska.org/technical/specs/notes.html
2012-04-28 15:51:03 +01:00
Mark Nauwelaerts
9ea22283d0
gdppay: plug buffer leak
2012-04-25 22:28:44 +02:00
Mark Nauwelaerts
56602aa8fc
tcpclientsink: ensure proper cleanup upon startup error
2012-04-24 17:15:23 +02:00
Sebastian Dröge
ecb7156822
subparse: Allow newlines/whitespace at the beginning of subrip files
...
For example the Sintel subtitles have this and without this change
they're detected as text/plain and not usable as subtitles. The
parser itself already handles this just fine.
2012-04-24 10:16:45 +02:00
Sebastian Dröge
c84108de3c
video: Update for libgstvideo API changes
2012-04-19 12:30:57 +02:00
Mark Nauwelaerts
a008aa0b46
collectpads2: rename to collectpads
2012-04-17 15:09:58 +02:00
Mark Nauwelaerts
b1a90e43c8
adder: correctly adjust to modified collectpads2 event handling
2012-04-17 13:50:29 +02:00
Akihiro Tsukada
94beeb713a
playbin2: Don't hold the playbin lock in the autoplug-continue callback
...
It's not necessary there as the group lock already protects everything
we access here and causes deadlocks in some cases.
Fixes bug #673708 .
2012-04-17 09:57:17 +02:00
Mark Nauwelaerts
1f995a1c7e
adder: chain up to collectpads event handler
2012-04-16 16:30:38 +02:00
Matej Knopp
b6765417e1
decodebin: Do not block on sticky and oob events
2012-04-16 13:49:07 +02:00
Sebastian Dröge
fe9041bd05
decodebin2: Check that properties have the correct type before using them
2012-04-16 08:27:20 +02:00
Sebastian Dröge
15d92392b5
uridecodebin: Check that properties have the correct type before using them
2012-04-16 08:27:09 +02:00
Tim-Philipp Müller
497d87061d
typefinding: more fine-grained ogg typefinding
...
Typefind to audio/ogg, video/ogg, etc. Also change
application/x-annodex to application/annodex.
See http://wiki.xiph.org/MIME_Types_and_File_Extensions
2012-04-15 22:38:10 +01:00
Julian Scheel
fd4c8d9252
uridecodebin: Never treat live sources as streaming sources.
...
For streaming sources a queue is added before the demuxer, which can not be
properly filled by live sources. As http source can be live sources, this
caused issues for example with http live sources.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057
2012-04-14 10:52:26 +02:00
Sebastian Dröge
69b18ab09d
gst-libs: Remove interfaces libs and mixer/tuner interfaces
...
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Mark Nauwelaerts
62cc0cade7
tcp: update property documentation to reference correct property
2012-04-11 21:45:46 +02:00
Tim-Philipp Müller
3c6a3ad629
Use new gst_element_class_set_static_metadata()
2012-04-10 00:45:16 +01:00
Sebastian Dröge
ec2e470ecc
playback: Remove gstdecodebin.c, which is nowaday unused anyway
2012-04-06 10:54:42 +02:00
Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
0ad7fe0590
encodebin: release additional obtained caps reference
2012-04-04 19:57:27 +02:00
Thiago Santos
6eee006e82
Merge branch '0.10'
2012-04-04 13:56:17 -03:00
Thiago Santos
4b349306b0
playbin2: Use new playsink send-event-mode property
...
Set playsink's send-event-mode to MODE_FIRST as playbin2 only
needs one event going to the demuxer for its operation
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Thiago Santos
84abbe0d52
playsink: add send-event-mode property
...
Adds a property for playsink to define how it should handle
events sent in send_event function. The default is the same as
GstBin's, sending events to all internal sinks. There is also
mode-first, that will send to sinks until the one handles the
event successfully.
https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Sebastian Dröge
65307dd132
gst: Update versioning
2012-04-04 14:55:15 +02:00
Mark Nauwelaerts
481b1beece
adder: event handling and leak fixes
2012-04-03 18:31:24 +02:00
Mark Nauwelaerts
6656affdfa
videoconvert: plug caps leak
2012-04-02 17:03:48 +02:00
Raimo Järvi
086bee8c14
tcp: Fix compiling with mingw
...
https://bugzilla.gnome.org/show_bug.cgi?id=673056
2012-04-02 11:26:45 +02:00
Wim Taymans
b52c035f13
audioconvert: remove useless transform_ip function
2012-04-02 11:21:26 +02:00
Wim Taymans
bf908a385b
volume: use transform_ip_on_passthrough
2012-04-02 11:11:33 +02:00
Wim Taymans
9ef519d99a
Improve buffer allocation of wrapped memory
2012-04-01 18:11:23 +02:00
Wim Taymans
345dc31f20
update for buffer api change
2012-03-30 18:15:30 +02:00
Mark Nauwelaerts
aaf84a941e
audioconvert: plug caps leak
2012-03-30 16:56:40 +02:00
Edward Hervey
05a778b1c4
typefind: Use unchecked byte reader methods where possible
...
The size is checked before, so we can use them.
2012-03-30 12:04:15 +02:00
Sebastian Dröge
9e13d70b2c
Merge remote-tracking branch 'origin/0.10'
...
Conflicts:
gst-libs/gst/video/video-overlay-composition.c
tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Wim Taymans
69298c5534
update for buffer changes
2012-03-28 12:53:01 +02:00
Sebastian Dröge
4872c7bf75
playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink
2012-03-23 11:07:49 +01:00
Wim Taymans
1982d1ce12
Release 0.11.3
2012-03-22 15:51:39 +01:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans
dd819ddc6b
orc: avoid precompilation
...
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +01:00
Wim Taymans
e13a7c76a7
videotestsrc: fix decide_allocation
...
We want to propose a videopool even if downstream didn't provide one.
2012-03-16 20:22:19 +01:00
Wim Taymans
7c0e2b5b1e
update for allocation query changes
2012-03-15 20:36:51 +01:00
Vincent Penquerc'h
73605cb33d
playsink: send navigation event to the sink as a fallback
...
When the video sink is a fakesink, which does not implement the
navigation interface, playsink will drop the navigation command.
In this case, send to the video sink as a fallback. It breaks
the interface abstraction, but is better than just dropping the
navigation event.
2012-03-15 13:02:34 +00:00
Wim Taymans
df5253b22c
update for memory api changes
2012-03-15 13:32:08 +01:00
Wim Taymans
39d78762b9
take padding into account
2012-03-14 19:56:51 +01:00
Mark Nauwelaerts
9fc640b9e0
playsink: remove circular ref between bin and internal pad
...
... by not assigning an additional ref to an async blocked callback,
which should not be called anyway by the time the object is gone.
Fixes #672006 .
2012-03-14 17:32:10 +01:00
Mark Nauwelaerts
d13e1b49f6
playsink: provide fresh copy for gst_caps_merge
...
... since it is documented to modify provided caps.
2012-03-13 15:28:00 +01:00
Wim Taymans
9d8db57eb0
videotestsrc: don't leak the bufferpool
2012-03-12 19:51:21 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Mark Nauwelaerts
8c99412a0d
playbin2: do not take a superfluous ref on uridecodebin instances
...
... which are no longer FLOATING.
2012-03-09 14:19:41 +01:00
Mark Nauwelaerts
5fee17ac8f
uridecodebin: restore FLOATING flag when reusing decodebin instance
...
... which avoids leaking these due to an extra ref later on.
2012-03-09 14:19:14 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts
b2a162ca77
playsink: audio convert bin need not be unconditionally present
...
... so avoid NULL manipulation when setting up chain again
(e.g. after having partially gone down to READY in native audio flag
configuration).
2012-03-08 17:58:17 +01:00
Mark Nauwelaerts
5462536a36
playsink: plug element leak
2012-03-08 15:35:46 +01:00
Wim Taymans
37541750d2
videoscale: fix broken format filter
...
Simply intersect the format with the supported formats to make the code deal
with lists of formats.
2012-03-08 10:22:49 +01:00
Sebastian Dröge
15091ad124
playsink: Chain up to the parent's GstBin::handle_message() for non-prepare-xoverlay element messages
2012-03-05 15:24:20 +01:00
Wim Taymans
d8f698fe20
x-raw-bayer -> x-bayer
...
Rename x-raw-bayer to x-bayer. We might want to merge this with x-raw eventually
but for now keep the x-raw namespace clean.
2012-03-05 12:42:27 +01:00
Wim Taymans
abca785f0f
videoconvert: use base class new vmethods
...
Use the base class filter_meta to proxy all metadata upstream.
Use the base class transform_meta to let it copy all non-colorspace dependent
metadata.
2012-03-02 17:35:40 +01:00
Wim Taymans
5595c0a7df
videoconvert: remove old metadata code
...
The subclass can help us better
2012-03-02 17:12:25 +01:00
Wim Taymans
df004b586e
videoconvert: update for copy data changes
2012-03-02 13:11:36 +01:00
Wim Taymans
9a21eda38c
videoscale: remove old caps fields
2012-03-02 13:11:36 +01:00
Sebastian Dröge
a80c82cd80
playback: Link to libgstinterfaces too for the navigation interface
2012-03-02 11:31:23 +01:00
Sebastian Dröge
006f8f8275
gst: Update for gstmarshal.[ch] removal
2012-03-02 11:15:02 +01:00
Sebastian Dröge
84a02f9f13
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11
2012-03-02 10:13:52 +01:00
Sebastian Dröge
1cbcb9281c
mixer/colorbalance: Update for API changes
2012-03-02 10:00:59 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
dcd277b916
videoconvert: proxy allocation meta when we can
...
Proxy all the metadata APIs in the allocation query.
Remove all metadata that is dependent on the colorspace, copy others.
2012-03-01 17:36:08 +01:00
Stefan Sauer
44ff1b3b89
adder: drop newsegment events on sink-pads
...
Adder is sending an own newsegment event on the src pad.
2012-02-29 21:54:49 +01:00
Stefan Sauer
ce1b1d82e3
adder: sink event handling fix
...
Turn _sink_event() into the collectpads event function and merge the logic from
the recently added gst_adder_event. Drop flush_start events as we allready
handle them on the src-pad side. Fixes #670850 .
2012-02-28 20:54:54 +01:00
Edward Hervey
59918e841f
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:28:15 +01:00
Wim Taymans
ef980bc09b
audioconvert: improve fixation
2012-02-27 12:52:07 +01:00
Stefan Sauer
3975c10907
adder: include event name in log message
2012-02-27 12:04:38 +01:00
Tim-Philipp Müller
63d1316c0f
videoscale: fix negotiation after addition of new formats and methods
...
Now that we no longer support all methods for all formats, we
need to cater for that in the transform function: we can't
transform formats not supported by the currently-selected
mehod.
make check, folks. It's da bomb.
2012-02-26 23:46:50 +00:00
Alessandro Decina
9f1732fba7
Fix compiler warnings
2012-02-26 20:36:46 +01:00
Wim Taymans
14387953a0
update for basetransform change
2012-02-24 11:03:16 +01:00
Sebastian Dröge
361e1e2e98
playsink: Use g_signal_handlers_block_by_func()/unblock_by_func() instead of disconnecting and reconnecting
2012-02-23 13:41:25 +01:00
Sebastian Dröge
0ef49c5275
playbin2: Proxy colorbalance interface
2012-02-23 13:32:00 +01:00
Sebastian Dröge
4289c0c899
playsink: Proxy colorbalance interface
2012-02-23 13:32:00 +01:00
Sebastian Dröge
46a3ea011d
playbin2: Proxy navigation interface
2012-02-23 11:56:37 +01:00
Sebastian Dröge
d5779c96c4
playsink: Proxy navigation interface
2012-02-23 11:54:27 +01:00
Sebastian Dröge
9dab4a8477
playbin2: Proxy the XOverlay interface
2012-02-23 11:42:55 +01:00
Sebastian Dröge
993c6e006a
playsink: Proxy the XOverlay interface
2012-02-23 11:33:27 +01:00
Wim Taymans
642ca2bd40
audioresample: remove transform lock
...
In this particular case it was not sufficient anyways because the setcaps
function didn't take the transform lock.
2012-02-23 11:19:52 +01:00
Sebastian Dröge
b8343b4a14
playsink: Force the aspect ratio if the sink has such a property
2012-02-23 11:05:11 +01:00
Wim Taymans
7d58b0aa0b
videoconvert: improve fixation
...
Use the fixed upstream caps to fixate the output caps by taking the
intersection.
2012-02-22 15:31:12 +01:00
Sebastian Dröge
2c565f72df
playsink: Only use the sink's colorbalance interface if it supports at least brightness/contrast/hue/saturation
2012-02-22 14:57:31 +01:00
Sebastian Dröge
8bcf96198e
playsinkvideoconvert: Fix element name
2012-02-22 14:12:16 +01:00
Wim Taymans
9212619549
update for new fixate_caps function
2012-02-22 12:32:44 +01:00