Sebastian Dröge
366aaae825
decodebin2: Store for every chain, which pad resulted in its creation
2009-10-15 13:35:28 +02:00
Sebastian Dröge
2b3741403e
playbin2: Use gst_object_has_ancestor() instead of our own implementation of it
2009-10-14 08:36:54 +02:00
Sebastian Dröge
a4bc39ef48
playbin2: Don't stop completely on initialization errors from subtitle elements
...
Instead disable the subtitles and play the other parts of the stream.
Fixes bug #587704 .
2009-10-13 16:53:50 +02:00
Sebastian Dröge
d40246ff7d
decodebin2: Ignore no-more-pads from non-demuxer elements
...
instead of printing an error that no corresponding group could
be found. no-more-pads from non-demuxer elements doesn't give
any additional information because there can only be a single srcpad.
Fixes bug #598288 .
2009-10-13 16:52:43 +02:00
Stefan Kost
319baefeba
audioconvert: track active conversion in perf log
2009-10-12 21:43:42 +03:00
Josep Torra
7bba1217a5
audioconvert: fixes warning: format not a string literal and no format arguments
...
redo of valid part of my previous revert.
2009-10-09 15:29:15 +02:00
Josep Torra
7b77138667
Revert "audioconvert: fixes warning: format not a string literal and no format arguments"
...
Revert this commit as unintentionally I've changed common.
This reverts commit 49ea013822
.
2009-10-09 15:19:42 +02:00
Josep Torra
9c335ec185
videorate: fix warning in macosx
2009-10-09 14:23:36 +02:00
Josep Torra
99db7845c7
audiorate: fix warning in macosx
2009-10-09 14:20:47 +02:00
Josep Torra
49ea013822
audioconvert: fixes warning: format not a string literal and no format arguments
2009-10-09 14:14:15 +02:00
Stefan Kost
e81303b733
ffmpegcolorspace: chwck formats just once per _chain()
2009-10-08 18:10:08 +03:00
Stefan Kost
f2d1c9b0b7
ffmpegcolorspace: add perf-log-category and log suboptimal operation
...
Log if we use an intermediate colorspace for conversion.
2009-10-08 18:09:52 +03:00
Jan Schmidt
592b8ecb09
decodebin2: Fix type-punning warning
2009-10-08 00:17:21 +01:00
Sebastian Dröge
9bd6fe41cb
decodebin2: Chains with an exposed endpad are complete too
...
This allows partial group changes, i.e. demuxer2 in the example below
goes EOS but has a next group and audio2 stays the same.
/-- >demuxer2---->video
demuxer--- \--->audio1
\--->audio2
2009-10-07 17:46:30 +02:00
Sebastian Dröge
bf7cd0ed81
decodebin2: Use the iterate internal links function instead of string magic to get multiqueue srcpads
2009-10-07 17:46:29 +02:00
Sebastian Dröge
674e2309ac
uridecodebin: Don't post missing plugin messages twice
...
decodebin2 already posts them after emitting the unknown-type signal,
there's no need to post another one.
2009-10-07 17:46:29 +02:00
Sebastian Dröge
cf9c6a2271
decodebin2: Rewrite autoplugging and how groups of pads are exposed
...
This now keeps track of everything that is going on, creates
a tree of chains and groups to allow "demuxer after demuxer" scenarios
and allows chained Oggs with multiple streams (needs oggdemux or playbin2 fixes).
Also document everything in detail and give a general overview of what
decodebin2 is doing at the top of the sources.
Fixes bug #596183 , #563828 and #591677 .
2009-10-07 17:46:28 +02:00
Stefan Kost
ccf5d6551a
build: sprintf, sscanf need stdio.h
2009-10-07 11:56:35 +03:00
Benjamin Otte
6621dd3d3e
[videotestsrc] Make checkers-8 pattern create 8x8 instead of 16x16 tiles
2009-10-07 09:54:08 +02:00
Benjamin Otte
9d6eb19453
[ffmpegcolorspace] Fix NV12 and NV21 with odd width and height
2009-10-07 09:54:08 +02:00
Benjamin Otte
a0a66e8ceb
[videotestsrc] Fix Y41B
...
Chroma components should be aligned on 4byte boundaries.
https://bugzilla.gnome.org/show_bug.cgi?id=595849
2009-10-07 09:54:07 +02:00
Sebastian Dröge
24b7d2500c
factorylist: Use gst_caps_can_intersect() instead of _intersect()
...
This is faster and results in less allocations.
2009-10-07 07:23:20 +02:00
Sebastian Dröge
999483b454
decodebin2: Don't set the external ghostpads blocked but only their targets
...
Pad blocks should never be done on external pads as outside elements
might want to use their own pad blocks on them and this will lead to
conflicts and deadlocks.
2009-10-07 07:23:20 +02:00
Sebastian Dröge
0dcc0857aa
decodebin2: Only use the object lock for protecting the subtitle elements
...
Using the decodebin lock will result in deadlocks if the subtitle encoding
is accessed from a pad-added handler.
2009-10-07 07:23:19 +02:00
Sebastian Dröge
9be848d04f
playbin2: Improve debugging of pad blocks
2009-10-07 07:21:38 +02:00
Sebastian Dröge
a4f454dc24
playbin2/playsink: Use gst_object_ref_sink() instead of calling both separately
2009-10-07 07:21:37 +02:00
David Schleef
205ada8454
videotestsrc: add pattern with out-of-gamut colors
...
Adds a pattern with out-of-gamut colors in a checkerboard
pattern with in-gamut neighbors. Useful for checking YCbCr->RGB
color matrixing. Correct matrixing and clamping will cause the
checkerboard pattern to be invisible.
2009-10-06 19:47:01 -07:00
Robert Swain
fc56adc2e3
audioresample: fix printf variable type
...
Change printf variable type from %lu to %" G_GUINT64_FORMAT " as it
should be for guint64.
Fixes #596981
2009-10-06 22:37:00 +02:00
Jan Schmidt
f58a2b71b5
ffmpegcolorspace: Use the ffmpegcolorspace debug category
...
Move gstffmpegcodecmap debug to the ffmpegcolorspace category
2009-10-06 20:37:42 +01:00
Jan Schmidt
850c95178d
gdppay: Don't repeat tags buffers for every new segment
...
Only send a tag buffer when one is received, not after every new segment
event/update.
2009-10-06 20:37:42 +01:00
David Schleef
1871a6025d
typefind: detect 'ftypqt ' as video/quicktime
2009-10-06 12:19:12 -07:00
Wim Taymans
a8d7e6a490
playsink: make the lock recursive for now
...
Fixes #583255
2009-10-01 09:35:54 +02:00
Wim Taymans
f18ed7abf9
playsink: fix the vis property getter
2009-10-01 09:35:54 +02:00
Edward Hervey
b565a3088c
playsink: Expose mute,volume,vis-plugin and font-desc properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=594623
2009-09-14 12:26:05 +02:00
Edward Hervey
377e781ad5
GstPlaySink: Expose 'reconfigure' as an action signal.
2009-09-14 10:40:00 +02:00
Edward Hervey
bafe9082fd
GstPlaySink: Expose flags as a gobject property.
2009-09-14 10:40:00 +02:00
Edward Hervey
02c50388c4
playback: Register playsink as an element.
...
This allows using playsink from outside the playback plugin.
Add code to be able to request the sink pads using standard GStreamer API.
TODO : expose GObject properties/signals.
2009-09-14 10:39:59 +02:00
Benjamin Otte
26c068e9e5
videotestsrc: Fix crashes with even widths
...
The fix for green lines introduced by commit
35fdfcc625
caused invalid memory accesses
for even widths. This patch fixes it.
2009-09-11 22:14:25 +02:00
Sebastian Dröge
91c3a23963
playbin2: Implement GstStreamVolume interface
2009-09-11 16:37:35 +02:00
Sebastian Dröge
723b2baa5d
volume: Implement GstStreamVolume interface
2009-09-11 16:37:35 +02:00
Sebastian Dröge
6e23ea172f
interfaces: API: Add GstStreamVolume interface
...
Fixes bug #567660 .
2009-09-11 16:37:34 +02:00
Sebastian Dröge
7dbefedeef
videorate: Add Since marker for the new skip-to-first property
2009-09-11 07:38:28 +02:00
Olivier Crête
f35c5bc1e7
videorate: Make videorate work with a live source
...
Add a property that makes videorate skip to the first buffer it
receives instead of padding the stream from segment start to the
first real buffer.
Fixes bug #567928 .
2009-09-11 07:36:10 +02:00
Sebastian Dröge
662a31983f
playbin(2): Document that the volume property uses a linear scale
...
Fixes bug #571610 .
2009-09-10 16:56:14 +02:00
Benjamin Otte
8939bc6c82
ffmpegcolorspace: Handle YVU9/YUV9 conversion with odd widths
...
A green border could be visible when converting to Y444 or RGB, because
the last chroma samples weren't copied correctly
2009-09-10 10:56:29 +02:00
Benjamin Otte
7ed2531b27
videotestsrc: Fix YVU9 and YUV9
...
- Buffer sizes were computed different from ffmpegcolorspace
- Green bar on right size for widths not divisable by 4
2009-09-10 10:45:06 +02:00
Benjamin Otte
35fdfcc625
videotestsrc: Fix image for odd widths in some formats
...
videotestsrc rounds chroma down. This causes it to omit the last chroma
value completely for odd widths when the chroma is downsampled.
This patch special cases the last pixel to not be rounded down.
2009-09-10 10:45:06 +02:00
Stefan Kost
7a3797f332
docs: tell a biit more about uri-decodebin and buffering
2009-09-10 10:30:23 +03:00
Wim Taymans
2a5cd16eb1
fix whitespace
2009-09-08 13:02:46 +02:00
Tim-Philipp Müller
f051514f69
typefinding: disable typefinder for headerless flac
...
Disable headerless flac typefinder as long as it happily typefinds anything
including /dev/urandom as flac and as long as it's not particularly useful
given that such streams don't really exist in the wild.
Also fix up some comments so that gtk-doc doesn't complain about them.
2009-09-07 17:13:12 +01:00
Wim Taymans
f1b209f409
typefind: fix midi typefinding
...
We already have a audio/midi typefinder so don't override it with the midi in
RIFF typefinder or else we fail to detect plain midi files.
2009-09-04 15:48:06 +02:00
Wim Taymans
9e83339cf6
uridecodebin: do buffering for more uris
...
Add ssh://, ftp://, sftp://, myth:// to the list of uris that require
buffering.
Fixes #594020
2009-09-04 11:33:04 +02:00
Sebastian Dröge
a69ffb5886
typefindfunctions: Add typefinder for Midi inside RIFF
...
This is a standard Midi file format that should be supported by
all Midi decoders and also has the mimetype audio/mid according to
the Midi specification homepage.
Fixes bug #594094 .
2009-09-04 07:36:10 +02:00
Tim-Philipp Müller
4cacc441d8
typefinding: move gio-based xdg mime typefinder from -bad to -base
...
Its purposes is mainly to avoid false positives (e.g. mp3 typefinder
reporting a 20% probability and somesuch). Won't be registered if
the gio plugin has been disabled via ./configure --disable-gio.
2009-09-03 09:01:47 +01:00
Tim-Philipp Müller
889c318798
subparse: GstAdapter is not a GstObject and should be freed with g_object_unref
2009-09-01 15:16:17 +01:00
Stefan Kost
e7368354d5
adder: improve caps filter functionality. Fixes #590146 .
...
Also use the capsfilter if there is no src-peer as the caps constrain what
we can do. Don't create any_caps as a default, as we check for NULL to skip the
filtering. This is a (small) performance regression as we always intersect
otherwise.
2009-08-31 22:48:01 +03:00
Sebastian Dröge
2194166e05
decodebin2: Post missing plugin messages before any error messages
2009-08-31 11:10:55 +02:00
Marc-André Lureau
605f3c2942
Bug 593035 - set IN_CAPS for streamheader buffer
2009-08-28 08:44:55 +01:00
Sebastian Dröge
460dc94d23
playbin: The internally linked pad of the selector might be NULL in some cases
2009-08-26 16:56:19 +02:00
Sebastian Dröge
67a0ef9b3a
playbin: Fix iterate internal linked pads functions for the stream selectors
...
This now used the new gst_iterator_new_single() function and as a side effect
fixes bug #592864 .
2009-08-26 16:45:49 +02:00
Sebastian Dröge
3c8ff21ba2
typefindfunctions: Detect AVF files as RIFF files too
...
AVF is valid RIFF but has AVF0 as first fourcc instead of RIFF.
Partially fixes bug #593117 .
2009-08-26 09:10:19 +02:00
Sebastian Dröge
1e450f21f8
audioresample: Fix drain processing
...
In case we have to convert internally don't process output length input samples
but history length input samples.
2009-08-26 09:10:18 +02:00
Sebastian Dröge
2e585ac7ac
audioresample: On the first buffer we need discont handling
...
Otherwise we won't get upstream timestamps and everything and all
output buffers would have -1 timestamps.
2009-08-26 09:10:18 +02:00
Руслан Ижбулатов
5d96fd4bf1
subparse: Remove dependency on regex.h as it's not used anyway
...
Fixes bug #592544 .
2009-08-26 09:10:17 +02:00
Kipp Cannon
86b4c51c8c
audioresample: Fix buffer overflow when pushing the drain
2009-08-26 09:10:17 +02:00
Kipp Cannon
a69068d70d
audioresample: Fix timestamp drift
...
Fixes bug #591934 .
2009-08-26 09:10:17 +02:00
David Schleef
0e9bc5125a
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Wim Taymans
c3ebeec5a5
playbin2: fix refcounting of _get_sink()
...
g_value_set_object() increases the refcount of the sink, which is not needed
because the object should already be refcounted. Make sure this is always the
case and use g_value_take_object().
Fixes : #592884
2009-08-24 15:08:36 +02:00
Sebastian Dröge
0c1fa2e8ab
streamselector/inputselector: Use iterate internal links instead of deprecated get internal links
2009-08-19 17:23:21 +02:00
Sebastian Dröge
b7fa34a279
playsink: Also send SEEK events directly to a subpicture sink
2009-08-18 11:15:41 +02:00
Sebastian Dröge
b5f84c0637
playsink: If a custom text sink is used, send events to it too
...
Before, SEEK events would be sent to the video sink, which wouldn't
be linked in any way to the subtitle part of the pipeline and
subparse would never see the SEEK event. This would then seek
the audio/video but the subtitles would continue from the old
position instead.
Fixes bug #591664 .
2009-08-18 08:39:02 +02:00
Sebastian Dröge
6aa731cb48
uridecodebin: Make missing plugins emit a warning message, not an error message
...
The problem with an error message is, that it will stop playback completely
while it could be that only a audio decoder plugin is missing and the video
could be played with the available plugins.
See bug #591677 .
2009-08-18 08:20:28 +02:00
Sebastian Dröge
a6b1e0b645
uridecodebin: Post a correct error message for unknown types
...
Before we had STREAM/WRONG_TYPE but it's really CORE/MISSING_PLUGIN
because a plugin is missing and nothing else is wrong.
Also make it an error instead of a warning.
Really fixes bug #591677 .
2009-08-13 17:42:07 +02:00
Sebastian Dröge
504f8dc9c7
uridecodebin: Post a missing plugin message additional to the error message on unknown types
...
Fixes bug #591677 .
2009-08-13 15:55:25 +02:00
Tim-Philipp Müller
4871cd9254
playbin2: fix error message string
...
Fixes #591577 .
2009-08-13 10:59:35 +01:00
Mark Nauwelaerts
188d698449
decodebin2: avoid assertion failure on empty/NULL caps
2009-08-12 13:39:12 +02:00
Sebastian Dröge
3b4c35e319
typefindfunctions: Also detect SVG by the <svg> starting tag
...
Not all SVG images have the DOCTYPE specified.
2009-08-12 12:11:08 +02:00
Sebastian Dröge
88a55e6dae
subparse: Allow . instead of , as millisecond delimiter in srt subtitles
...
Fixes bug #591207 .
2009-08-09 12:13:16 +02:00
Tim-Philipp Müller
0021e6b765
Revert inlines that cause compiler warnings and are not needed anyway
2009-08-08 17:51:10 +01:00
Edward Hervey
8cd1b5209b
gst: Remove dead assignments and resulting unused variables
2009-08-08 15:54:02 +02:00
Sebastian Dröge
141c3f52cd
typefindfunctions: Add typefinders for many game sound console formats supported by gme
...
These are AY, GBS, GYM, KSS, SAP and VGM. SPC and NSF already had typefinders.
2009-08-07 09:33:34 +02:00
Siarhei Siamashka
720a927f38
ffmpegcolorspace: support for direct conversion from uyvy422 to rgb formats
2009-08-06 15:09:44 +03:00
Stefan Kost
007da06645
playbin2: smarter sink selection. Fixes #588523
...
Don't do fallbacks if application specified a sink element. When doing the
fallback use configured default elements instead of hardcoded linux only
elements. Improve error messages accordingly.
2009-08-06 15:07:02 +03:00
Mark Nauwelaerts
ff998f24db
queue2: post error message when pausing task if so appropriate
...
If a downstream element returns an error while upstream has already
put all data into queue2 (including EOS), upstream will no longer
chain into queue2, so it is up to queue2 to perform some
EOS handling / message posting in such cases. See #589991 .
2009-08-06 13:39:19 +02:00
Tim-Philipp Müller
85a08d8dc2
typefinding: fix postscript typefinder probability
...
Two bytes for a rare format hardly warrants MAXIMUM typefinding
probability, POSSIBLE seems more appropriate.
2009-08-06 09:57:25 +01:00
Sebastian Dröge
060f9c07e5
subparse: Implement POSITION query
2009-08-06 06:43:38 +02:00
Sebastian Dröge
7e119e46e5
subparse: Implement SEEKING query
2009-08-06 06:43:38 +02:00
Sebastian Dröge
76571840ef
typefindfunctions: Add SVG typefinder
2009-08-06 06:43:35 +02:00
Sebastian Dröge
5c52513aab
typefindfunctions: Add postscript typefinder
2009-08-06 06:43:35 +02:00
Sebastian Dröge
37839ee2b3
typefindfunctions: Use static caps again for MPEG4 typefinding
2009-08-06 06:43:35 +02:00
Arnout Vandecappelle
ce24ac4ed0
typefindfunctions: Implement better & more flexible MPEG4 typefinding
...
This detects more MPEG4 streams as MPEG4.
Fixes bug #556537 .
2009-08-06 06:43:35 +02:00
Sebastian Dröge
cac4b032c3
videoscale: Restrict width/height to 2^15 - 1
...
Otherwise integer overflows will happen, resulting in segmentation faults.
Fixes bug #590243 .
2009-08-06 06:43:34 +02:00
Sebastian Dröge
6b63053be1
ffmpegcolorspace: Fix indention of template header
2009-08-06 06:43:34 +02:00
Benjamin Gaignard
2f4c65bb06
typefindfunctions: Fix typefinding of SDP files
...
Fixes bug #589574 .
2009-08-06 06:43:33 +02:00
Kipp Cannon
4689acd68f
audioresample: Take the output offsets from the input if possible
...
Fixes bug #588915 .
2009-08-06 06:43:33 +02:00
Sebastian Dröge
b69f5e2c66
videoscale: Make sure to allocate enough memory for the temporary buffer
...
and fix scaling of odd-height interlaced video.
2009-08-06 06:43:32 +02:00
Sebastian Dröge
c51d2febd3
videoscale: Fix interlaced scaling for I420
...
...and some other minor mistakes in the previous change.
2009-08-06 06:43:32 +02:00
Sebastian Dröge
164b90f9d0
ffmpegcolorspace: Include interlacing information in the AVPicture
...
This later allows to handle interlaced AVPicture different than
progressive ones which is needed for horizontally subsampled YUV
formats, see bug #589242 .
2009-08-06 06:43:32 +02:00
Sebastian Dröge
33c490f4b9
videoscale: Add support for interlaced content
...
videoscale is not mixing content of two seperate fields anymore
and does scaling on every field separately.
Fixes bug #588761 .
2009-08-06 06:43:31 +02:00
Tim-Philipp Müller
e199d7e1cd
typefinding: fix detection of fLaC id packet in broken flac-in-ogg
...
There are flac-in-ogg files without the usual flac packet framing
and these files just have a 4-byte fLaC ID packet as first packet.
We need to recognise the type just from these four bytes if we
want oggdemux to recognise these streams correctly.
2009-08-01 19:01:39 +01:00