Commit graph

2163 commits

Author SHA1 Message Date
Sebastian Dröge
fcf2668b20 Revert "inputselector: Protect g_object_notify() with the object's mutex"
This reverts commit a37426c41c, it's
causing deadlocks with playbin2.
2010-01-25 12:22:17 +01:00
Kipp Cannon
a37426c41c inputselector: Protect g_object_notify() with the object's mutex
This works around the thread unsafety of g_object_notify()

Fixes bug #607513.
2010-01-24 20:55:26 +01:00
Sebastian Dröge
1ae783dafc typefindfunctions: Add typefinder for ISO MP4 files
Fixes bug #607848.
2010-01-24 20:46:58 +01:00
Tim-Philipp Müller
eef885cf86 typefinding: optimise AC-3 typefinder a bit
Make AC-3 typefinder use the DataScanCtx stuff so we don't have to
do gst_type_find_peek() in the inner loop all the time. Also return
when we've suggested AC3 caps, instead of continuing with the loop.
2010-01-23 15:28:02 +00:00
Tim-Philipp Müller
ca7ba91e5b Revert "typefind: Reduce number of calls to gst_type_find_peek."
This reverts commit c661bfaa99.

This breaks AC-3 typefinding for all cases where the first frame
is at an offset > 0.
2010-01-23 15:27:49 +00:00
Wim Taymans
12af633942 uridecodebin: handle raw sources about-to-finish signals
When we are dealing with a source that produces raw audio/video, we don't use a
decodebin2 to decode the data and we thus don't have the drained/about-to-finish
signal emited. To fix this, we add a padprobe on the source pads and emit the
drained signal ourselves. This then makes playbin2 emit the about-to-finish
signal for raw sources such as cdda://

Fixes #607116
2010-01-22 16:36:46 +01:00
Stefan Kost
8ebb6be803 typefind: include stdio.h for sscanf 2010-01-22 16:15:54 +02:00
Tim-Philipp Müller
2a84cf0941 typefinding: add PNM typefinder
Add PNM typefinder, so we can remove the one that's in the PNM plugin
in -bad (which btw uses different/wrong media types that don't match
the ones used by gdkpixbufdec) and people don't make fun of us for
loading image decoders when typefinding and playing back audio files.
2010-01-22 02:09:58 +00:00
Thijs Vermeir
48aa1959c8 ffmpegcolorspace: rename performance category
rename the performance category to ffmpegcolorspace_performance
as there is already a global GST_CAT_PERFORMANCE in core
2010-01-21 19:34:33 +01:00
David Schleef
e432c8ebc2 typefind: rewrite h.264 detection
Make detection simpler: check for NALs, check that they make
sense, and report how certain we are that it's a raw H.264 stream.
Fixes: #583376.
2010-01-19 13:37:12 -08:00
Tim-Philipp Müller
b0fe1867d4 playsink: re-use iterator callback to avoid code duplication 2010-01-18 10:10:27 +00:00
Tim-Philipp Müller
7216605ffa playsink: when looking for sink properties, make sure they have the right type
We don't want to end up setting values on elements where the property is of
a different type than we expect. Can't transform the value either, since we
can't really make assumptions about the scale and transform function.

Fixes crashes when using playbin2 with apexsink (#606949).
2010-01-18 10:10:27 +00:00
Sebastian Dröge
7335ce5d3e playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler
Changing the URIs in a state > READY results in unexpected behaviour,
i.e. the new URIs are only used after the current track has finished.

Fixes bug #607226.
2010-01-18 09:32:42 +01:00
Mark Nauwelaerts
2482a536ac decodebin2: sprinkle some more locking
... to avoid races and ensure some data structure consistency.

See also #574289.
2010-01-16 18:48:00 +01:00
Mark Nauwelaerts
45447337ad decodebin2: mind blocked pads when shutting down
Fix regression in shutdown deadlock handling now that the
target of a ghostpad is blocked instead of ghostpad itself.

See also #574293.
2010-01-14 18:26:03 +01:00
Sebastian Dröge
3b842bc98b playsink: Fix disabling of subtitles if subtitles were used before
In this case the video still goes through the text chain and
subtitles are still going in there, in case subtitles are
enabled again. This makes sure that re-enabling subtitles
happens instantly.

Fixes hanging video when disabling subtitles, caused by an
unliked video pad.
2010-01-14 13:36:23 +01:00
Mark Nauwelaerts
36fee21834 playbin2: fix pad ref leak 2010-01-14 10:46:28 +01:00
Wim Taymans
8d30d92740 typefind: mp4 video is not parsed 2010-01-13 17:36:05 +01:00
Thiago Santos
148d951fbc typefind: Add aac stream-format to caps
Also add the aac stream-format field on the caps when
detecting it.
2010-01-13 12:49:20 -03:00
Brijesh Singh
0fe6b6e8ab playsink: Fix handling of the native audio/video flags
Fixes bug #606687.
2010-01-13 09:39:54 +01:00
Wim Taymans
22939b074c Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2010-01-05 10:38:41 +01:00
Mark Nauwelaerts
133e1cdb56 audiorate: correctly eat empty and dummy buffers 2009-12-26 19:20:18 +01:00
Wim Taymans
775636e734 adder: be a lot smarter with buffer management
Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee adder: use collectpads clipping function
Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.

Fixes #590265
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced adder: fix juvenile comment 2009-12-24 13:58:52 +01:00
Wim Taymans
15216d23ac decodebin2: fix typo in debug message 2009-12-23 21:24:48 +01:00
Wim Taymans
99e836a340 decodebin2: avoid some type checks 2009-12-23 18:18:03 +01:00
Wim Taymans
3b0fc1e4fb playbin2: avoid leaking selector request pads 2009-12-23 17:08:27 +01:00
Wim Taymans
d4e1ff012d uridecodebin: avoid leaking queue and typefind
Don't leak the queue and typefind elements that we might link after the
source element.
2009-12-23 15:46:25 +01:00
Jonathan Matthew
138c851173 uridecodebin: don't name the queue
There is no reason to name the queue.

Fixes #605219
2009-12-23 15:43:52 +01:00
Mark Nauwelaerts
93f82f16cd audiorate: add Since marker for the new tolerance property 2009-12-21 18:50:34 +01:00
Wim Taymans
8266d201a0 decodebin2: add some debugging 2009-12-16 11:44:11 +01:00
Mark Nauwelaerts
8b4f6dd43b audiorate: add a tolerance property
It may not be uncommon for the input timestamps to experience some jitter
around the 'perfect time'.  As such, instead of regularly adding and dropping
samples, optionally allow for some tolerance in a more relaxed approach.

API: GstAudioRate:tolerance
2009-12-15 19:51:08 +01:00
Mark Nauwelaerts
b5fe63ed79 audiorate: add documentation 2009-12-15 19:50:56 +01:00
Mark Nauwelaerts
60635a9fbc audiorate: use separate header file 2009-12-15 19:49:31 +01:00
Mark Nauwelaerts
4bbde64da6 audiorate: set DISCONT when resyncing (e.g. newsegment) 2009-12-15 19:49:28 +01:00
Mark Nauwelaerts
56d4534554 audiorate: also fill up segments if possible 2009-12-15 19:49:26 +01:00
Mark Nauwelaerts
a11a1858ed audiorate: fix segment handling
Do not compare a media (buffer) time to a (bogus) running time
(or their offset equivalents).
2009-12-15 19:49:24 +01:00
Mark Nauwelaerts
529db8b501 audiorate: properly report truncated samples as dropped samples 2009-12-15 19:49:22 +01:00
Wim Taymans
dc91454984 tcpclientsrc: unset flushing state too
When unlocking, we set the flushing state on the fdset. Implement unlock_stop so
that we can use it to unset the flushing state again.

Fixes #577326
2009-12-10 17:53:01 +01:00
Wim Taymans
26071d748f playsink: fix video when subtitles disabled
When we have a source with subtitles but they were disabled with the flags,
still ghostpad the video pad instead of leaving it unlinked.
2009-12-09 12:11:55 +01:00
Sebastian Dröge
7bf631e448 playbin2: Fix stream-changed message list iteration
When iterating the list and removing the current element, first
get the next element and then remove the current one and not
the other way around.
2009-12-08 13:41:28 +01:00
Sebastian Dröge
49fd39c3fd playsink: Some minor cleanup 2009-12-07 09:13:40 +01:00
Sebastian Dröge
930a57db20 playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments 2009-12-06 18:06:05 +01:00
Stefan Kost
e6e9e3c589 build: fix build with debug logging disabled. 2009-12-03 23:38:54 +02:00
Stefan Kost
a6cf29fd3d playbin2: don't iterate the factory lists in non-debug mode
When debugging is disabled, we won't see anything printed anyway.
2009-12-03 18:08:49 +02:00
David Schleef
ab0c93976d Build fix for MSVC 2009-12-03 00:20:34 -08:00
Stefan Kost
70649da6ce build: add missing includes for sprintf and atoi 2009-12-02 23:27:55 +02:00
Thiago Santos
1acdf3eb78 subparse: Add support for some tags of qttext
Currently supporting timescale, timestamps, font, size,
textColor, backColor, plain, bold and italic

Fixes #603357
2009-12-01 17:56:59 -03:00
Thiago Santos
cdcc28c833 subparse: add qttext support
Adds basic support for qttext subtitles, still lacks markup tags
to make it prettier, but the plain text already works.

Implemented according to:
http://www.apple.com/quicktime/tutorials/texttracks.html
http://www.apple.com/quicktime/tutorials/textdescriptors.html

Fixes #603357
2009-12-01 14:06:27 -03:00