Commit graph

2022 commits

Author SHA1 Message Date
Wim Taymans
5b72f2adf9 inputselector: install an acceptcaps function
Install a custom acceptcaps function instead of using the default expensive
check. We accept whatever downstream accepts so we pass along the acceptcaps
call to the downstream peer.
2009-10-21 15:58:11 -04:00
Tim-Philipp Müller
37f8957181 typefind: fix typo in previous mxf typefinder change 2009-10-21 20:36:23 +01:00
Edward Hervey
d48d47e683 typefind: speed up mxf_type_find over 300 times for worst case scenarios
* memcmp is expensive and was being abused, reduce calling it by checking
  the first byte.
* iterating one byte at at time over 64 kbites introduces a certain overhead,
  therefore we now do it in chunks of 1024 bytes

And I do mean over 300 times. The average instruction call per mxf_type_find
was previously 785685 and it's now down to 2458 :)
2009-10-21 21:04:45 +02:00
Wim Taymans
c489fb01ca decodebin2: avoid type checks 2009-10-20 17:14:40 -04:00
Edward Hervey
891c54f6f8 gst/decodebin2: Ensure we get fixed caps for topology message
There are some corner cases (like with dvdemux amongst others) where
the caps won't be negotiated, but the pad has fixed caps.
2009-10-20 10:15:57 +02:00
Edward Hervey
64c8b1d5d9 gst/decodebin2: Don't expose chains if we're shutting down.
This avoids adding flushing pads to ourself
2009-10-20 10:15:48 +02:00
Stefan Kost
f1c32d0fbb build: fix previous commit to fully accomodate the glib-gen.mak changes
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
2009-10-16 10:56:56 +03:00
Stefan Kost
a89c1de0ea build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 10:23:09 +03:00
Sebastian Dröge
efcca84bac decodebin2: Post a element message on the bus with the stream topology
Fixes bug #598533.
2009-10-15 13:35:29 +02:00
Sebastian Dröge
50fdbcd9ea decodebin2: Store the "endcaps" of a chain
This are the caps that either resulted in a deadend if
no plugin for them could be found or raw caps.
2009-10-15 13:35:29 +02:00
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