Commit graph

3771 commits

Author SHA1 Message Date
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