Commit graph

2755 commits

Author SHA1 Message Date
Mark Nauwelaerts d17c4c28d5 audiorate: add skip-to-first property
API: GstAudioRate::skip-to-first
2011-02-21 12:58:42 +01:00
Mark Nauwelaerts bb0dc56114 videorate: fix skip-to-first ts setup
... such as avoiding arithmetic mixing counts and ts, although latter
would typically be 0 so far.
2011-02-21 12:58:16 +01:00
Edward Hervey 3fe2777b54 Revert "oggmux,adder: Check if collectpads has been freed"
This reverts commit 6d150873e8.

Depends on a core commit that was reverted.
2011-02-21 12:04:09 +01:00
David Schleef 6d150873e8 oggmux,adder: Check if collectpads has been freed
Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.
2011-02-20 23:49:54 -08:00
David Schleef e1149f52c1 videoscale: Add 16-bit-channel support 2011-02-20 12:04:02 -08:00
David Schleef 99d8339289 videotestsrc: Add 16-bit-per-channel formats 2011-02-20 12:04:02 -08:00
Leo Singer 82199c5815 audiotestsrc: each element gets its own instance of GRand, if needed
As a result, pipelines that contain multiple instances of audiotestsrc
with the 'wave' property set to 'white-noise', 'pink-noise', or
'gaussian-noise' will run much faster, since they won't be competing
for access to the global, lock-protected instance of GRand.

Fixes bug #642720.
2011-02-19 08:37:46 +01:00
Sebastian Dröge 0e3c32ac72 playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.
2011-02-18 17:29:07 +01:00
Edward Hervey 4c68f3b597 encodebin: Add a audioconverter after the audio resampler.
This allows handling non-native-endianness conversion properly.
2011-02-18 16:08:55 +01:00
Sebastian Dröge 2fc70442a7 playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.
2011-02-18 14:04:38 +01:00
Sebastian Dröge 09750a0132 uridecodebin: Add default handler for autoplug-select
uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.
2011-02-18 12:06:30 +01:00
Sebastian Dröge 91122e4efc uridecodebin: Return NULL from the default autoplug-sort handler
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:02:18 +01:00
Sebastian Dröge 2a6602d994 decodebin2: Return NULL from the default autoplug-sort handler
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:01:05 +01:00
Sebastian Dröge da4b5bf9f9 uridecodebin: Update autoplug-* signal docs from decodebin2
uridecodebin proxies these signals.
2011-02-18 12:00:34 +01:00
Sebastian Dröge ef5f73206d decodebin2: Update documentation of the autoplug-* signals
Add notes about the behaviour if multiple signal handlers are connected.
For most autoplug-* signals only the first signal handler will ever
be invoked.

Also add to the autoplug-sort docs that the signal handler can return NULL
to specify that the order should change and other handlers get the chance
to sort the array.
2011-02-18 11:58:44 +01:00
Sebastian Dröge 785f35a48e decodebin2: Keep the original factory list if the sort signal handlers returned NULL 2011-02-18 11:57:12 +01:00
tskd2@yahoo.co.jp 0641eabeb2 uridecodebin: expose "autoplug-sort" signal
It is a proxy of the decodebin2's one, and was missing
in the previous code.

See bug #642433.
2011-02-18 11:17:11 +01:00
Sebastian Dröge 1351597381 playbin2: Use a recursive mutex for the playbin lock
This lock is taken when activating a group, which could result in
calling the autoplug-continue callback, which also needs this lock
to access the sinks.

See bug #642174.
2011-02-18 10:57:40 +01:00
Sebastian Dröge 6ca5bb72a4 decodebin2: Disconnect signal handlers when removing a failed element
This prevents crashes later if one of the signals is emitted after the
element was removed from decodebin2 already, which can happen in discoverer.
2011-02-18 09:44:49 +01:00
David Schleef 7902e13df5 typefind: Fix mpeg TS detection 2011-02-17 18:29:57 -08:00
Sebastian Dröge 140dca43f3 playbin2: Optimize autoplug-continue handler a bit
Don't build merge the caps of all sinks but check them one-by-one
until one supports the caps. Also get reffed caps from the sinkpads
instead of a writable copy and add debug output if a sink claims to
support ANY caps.
2011-02-15 17:46:22 +01:00
Akihiro Tsukada 555e338008 playbin2: Fix handling of non-raw custom sinks
When autoplugging elements in decodebin2, check if
the caps are supported by one of the sink before
continuing autoplugging.

Fixes bug #642174.
2011-02-15 17:24:28 +01:00
Sebastian Dröge fbf9729795 decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
Fixes bug #642381.
2011-02-15 17:05:42 +01:00
Andoni Morales Alastruey f7dbec9091 gdppay: ensure buffer's metadata is writable before setting caps 2011-02-14 15:51:08 +01:00
Stefan Kost fe59f50468 decodebin2: caps can be NULL
Don't use and unref NULL caps.
2011-02-08 12:32:23 +02:00
Mark Nauwelaerts 2c017d2a70 uridecodebin: fix copy-and-paste typo in property docs 2011-02-02 15:39:19 +01:00
Mark Nauwelaerts e5e09844ea tcp: use socklen_t where appropriate rather than specific type
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-01-31 19:21:32 +01:00
Wim Taymans 1fb7c7e5dc uridecodebin: also add https to buffer protocols
HTTPS also needs buffering.
2011-01-31 10:34:44 +01:00
Philippe Normand 749f541cc4 typefinding: register H264 typefinder with H264 caps
https://bugzilla.gnome.org/show_bug.cgi?id=640709
2011-01-27 12:21:19 +00:00
Thiago Santos b43db2f2a2 streamsplitter: release pending events refs
Unref pending events when disposing the streamsplitter.

Also refactor a little to replace a for with a g_list_foreach
2011-01-26 12:52:41 -03:00
Tim-Philipp Müller 11a1acfe88 typefinding: use image/x-icon as media type for ICON files
That's what we've been using so far (e.g. gdkpixbufdec).
2011-01-26 09:06:10 +00:00
Stefan Kost 69436bb8a6 decodebin2: add comment and whitespace trimming 2011-01-25 18:03:58 +02:00
Vincent Penquerc'h 2acdbdabaa typefind: add typefinder for DEGAS images
This fixes at least one DEGAS image from being misdetected as DTS audio.

https://bugzilla.gnome.org/show_bug.cgi?id=625129
2011-01-25 13:39:25 +00:00
Vincent Penquerc'h 7caf9e5e81 typefind: add detection for windows icon files to get them out of the way
Some of them can otherwise be misdetected for MPEG audio.

https://bugzilla.gnome.org/show_bug.cgi?id=620364
2011-01-24 19:54:52 +01:00
David Schleef 3a165c60bf gdppay: make newsegment buffer metadata writable 2011-01-17 13:55:18 -08:00
Tim-Philipp Müller adb84c6dae typefinding: set framed=false on DTS caps 2011-01-13 13:59:41 +00:00
Edward Hervey 251400a69b encodebin: Add missing-plugin support
https://bugzilla.gnome.org/show_bug.cgi?id=638903
2011-01-07 13:18:20 +01:00
Edward Hervey d7bdf0d49a encodebin: Extend documentation
https://bugzilla.gnome.org/show_bug.cgi?id=638901
2011-01-07 12:52:37 +01:00
Robert Swain 2c1bf82d55 videorate: Fix behaviour for frame rate cap changes
The outgoing buffer timestamp is calculated by scaling an output buffer
count by the src pad frame rate caps. If these caps change, we need to
reset the count and work from a new base timestamp. The new output
buffer timestamp is then the count scaled by the new caps values added
onto the base timestamp.
2011-01-06 13:12:05 +01:00
Edward Hervey 19201c1ab0 encoding: encoding_profile_get_output_caps => _get_input_caps
Makes more sense name-wise
2011-01-05 22:02:35 +01:00
Edward Hervey cdd0a9c8bb encodebin: Convert to new GstElementClass::request_new_pad_full vmethod 2011-01-05 19:30:50 +01:00
David Schleef e3451e5ab8 typefind: Add stream-format to h264 caps 2011-01-02 15:49:42 -08:00
Tim-Philipp Müller dcd4222716 playbin2: use input-selector from core instead of internal copy 2010-12-31 12:14:22 +00:00
Tim-Philipp Müller bb786dfb5c typefinding: assume EBML files without doctype are matroska
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 22:36:41 +00:00
Wim Taymans b1696cf21d multifdsink: only keep last valid timestamp
Fixes #634397
2010-12-29 12:55:24 +01:00
Andoni Morales Alastruey c41a4d0df4 multifdsink: add first and last buffer's timestamp to the stats 2010-12-29 12:55:24 +01:00
Edward Hervey c76a6ef8ea encodebin: Also use "Formatter"s for container formats 2010-12-22 18:23:26 +01:00
Alessandro Decina b11303319c encodebin: minor fix in error handling.
Don't call gst_bin_remove (bin, <invalid pointer>).
2010-12-22 13:56:12 +01:00
Vincent Penquerc'h f221466099 playbin2: delay stream-changed messages
https://bugzilla.gnome.org/show_bug.cgi?id=637586
2010-12-21 17:42:58 +01:00
Edward Hervey d20b84f1d2 encodebin: Fix usage of non-container profiles 2010-12-21 13:07:27 +01:00
Rob Clark aa07af41f3 fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:

encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Leo Singer 5bfe1baab3 audioresample: corrected buffer duration calculation to account for nonzero initial timestamp
Since we calculate timestamps by:

  timestamp = t0 + (out samples) / (out rate)

and durations by:

  duration = ((out samples) + (processed samples)) / (out rate) - timestamp

if t0 is nonzero, this would simplify to

  duration = t0 + (processed samples) / (out rate).

This duration is too large by the amount t0.  We should have done:

  duration = t0 + ((out samples) + (processed samples)) / (out rate) - timestamp

so that

  duration = (processed samples) / (out rate).
2010-12-17 19:34:42 +01:00
Leo Singer 25a154be5f audioresample: changed num_gap_samples, num_nongap_samples from guint32 to guint64 so that gaps of greater than or equal to 2^32 samples do not cause integer overflow 2010-12-17 19:34:42 +01:00
Leo Singer d6d2aa44ab audioresample: push half a history length, instead of a full history length, at end-of-stream so that output segment and input segment have same duration 2010-12-17 19:34:42 +01:00
Leo Singer aac8b21678 audioresample: renamed count_gap, count_nongap to more descriptive num_gap_samples, num_nongap_samples 2010-12-17 19:34:42 +01:00
Leo Singer 6832b38527 audioresample: replaced void* with gpointer 2010-12-17 19:34:42 +01:00
Leo Singer 87f2422737 audioresample: initial filter transient discarded; unit tests passing 2010-12-17 19:34:41 +01:00
Leo Singer b4cd3329a9 Revert "Revert "audioresample: Add GAP flag support""
This reverts commit 35c76b3409.

Conflicts:

	gst/audioresample/gstaudioresample.c
	gst/audioresample/gstaudioresample.h
2010-12-17 19:34:41 +01:00
Sebastian Dröge 32f28f476e videoscale: Change classification to Filter/Converter/Video/Scaler 2010-12-16 10:11:43 +01:00
Edward Hervey 8a3b45aa1f gst: New encoding plugin
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00
David Schleef 525776df79 typefind: Add check for yuv4mpeg 2010-12-14 00:40:58 -08:00
Mark Nauwelaerts 93d68ec77d audioresample: relax discont checking slightly 2010-12-13 10:10:30 +01:00
Mark Nauwelaerts a7cf165289 audioresample: provide as much valid output ts and offset as valid input
... by independently tracking time and offset, rather than having no offset
leading to no output ts.
2010-12-13 10:10:15 +01:00
Stefan Kost 7728f3d3a7 typefinders: name "aac" typefinder "audio/aac"
This is in sync how we call the others.
2010-12-13 10:42:02 +02:00
Zeeshan Ali (Khattak) 1611f89298 videotestsrc: Add a missing return statement 2010-12-11 19:33:33 +02:00
Sebastian Dröge 09ff04a00a decodebin2: Deprecate new-decoded-pad and removed-decoded-pad signals
They're really the same as pad-added and pad-removed from GstElement
and it doesn't make sense to have two signals for the same thing.
2010-12-11 17:18:49 +01:00
Sebastian Dröge 42dee942d4 decodebin2: Emit "remove-decoded-pad" signal when pads are removed from decodebin2
Fixes bug #636198.
2010-12-11 17:15:28 +01:00
Mark Nauwelaerts ea7349e4c7 typefinding: improve iso media typefinding
... by also considering compatible brands rather than only aiming at major brand
(of which there are a seemingly ever expanding great many).
2010-12-08 12:55:24 +01:00
René Stadler 1e75501c10 typefind: ignore AC-3 BSIDs 9, 10 and >16
These are reserved for future extensions which will not be backwards
compatible to E-AC-3.
2010-12-07 21:28:20 +02:00
René Stadler 725968c612 typefind: accept consecutive AC-3 frames of different sizes
This is perfectly valid and occurs in particular when there are
(in)dependent substreams present.
2010-12-07 21:28:20 +02:00
René Stadler 0e39c62878 typefind: remove useless masking in (E-)AC-3 typefinders 2010-12-07 21:28:20 +02:00
René Stadler cc65ba987a typefind: stop scanning after suggesting E-AC-3 caps 2010-12-07 21:28:20 +02:00
René Stadler 886ea051e7 typefind: fix E-AC-3 frame size parsing
Frame size is given in words; it is already multiplied by two where
needed, so the left shift is superfluous. This extra multiplication
caused the code to inspect the third packet instead of the second,
which would fail for files where the second packet has a size
different from the first.
2010-12-07 21:28:20 +02:00
Wim Taymans f22687bacc use _object_ref_sink() when we can 2010-12-07 11:31:30 +01:00
Wim Taymans 5b4959d5d1 tcp: remove deprecated GDP protocol 2010-12-06 20:01:35 +01:00
Stefan Kost 95b259f9c9 playbin2: add some logging for failure case 2010-12-02 23:04:51 +02:00
Stefan Kost baa2fbbb68 inputselector: log times in human readable form 2010-12-02 23:04:51 +02:00
Stefan Kost 7f787249bb inputselector: more G_PARAM_STATIC_STRINGS use 2010-12-02 23:04:51 +02:00
Stefan Kost 3b35063ceb inputselector: move reoccuring logs to LOG and remove a double info
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-12-02 23:04:51 +02:00
Sebastian Dröge b2d716c340 tcp: Remove dead assignment 2010-12-02 19:04:29 +01:00
Sebastian Dröge 66ce6200a8 playsink: gen_video_chain() always returns a bin, no need to check for that 2010-12-02 19:04:28 +01:00
Sebastian Dröge 92133f7ce4 streamsynchronizer: If we get EOS for an unknown stream just do nothing
instead of dereferencing NULL pointers. This can happen if the stream
was just removed from the streamsynchronizer in a bad time.
2010-12-02 19:04:28 +01:00
Sebastian Dröge fe856a3f7c playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that 2010-12-02 19:04:28 +01:00
Stefan Kost 7b312c5980 uridecodebin: disconnect signal handlers before disposing 2010-11-24 17:53:42 +02:00
Tim-Philipp Müller 1bfefc50af docs: improve decodebin2 docs a little
Mention that new pads may be created even after no-more-pads.

https://bugzilla.gnome.org/show_bug.cgi?id=634584
2010-11-22 00:54:35 +00:00
Tim-Philipp Müller 8a423f8f00 decodebin: fix one more pad template ref leak 2010-11-18 00:33:22 +00:00
Harri Mähönen 7c5e39664e *decodebin*: don't leak pad templates set on ghostpads
https://bugzilla.gnome.org/show_bug.cgi?id=635067
2010-11-18 00:11:41 +00:00
Tim-Philipp Müller 8f039997f0 playbin2: disable streamsynchronizer magic for this release
Some things aren't quite right yet and cause problems (0-sized buffers
with PREROLL flag set cause crashes in elements that don't expect those;
getting pipeline back to preroll/playing again when audio/video streams
have different lengths and a seek past the end of one of the stream
happens doesn't always work, etc.). Needs further investigation in the
next cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=633700
https://bugzilla.gnome.org/show_bug.cgi?id=634699
2010-11-17 01:01:03 +00:00
Sebastian Dröge 1469453cb9 ffmpegcolorspace: Fix IYU1 support
Fix conversions to IYU1, they allocated infinite amounts of memory before
because no conversion to IYU1 was actually implemented and it was running
into an infinite loop trying to find suitable intermediate formats.

Also fix the stride and sizes used for IYU1.
2010-11-03 10:49:35 +01:00
Jan Schmidt ee303c441d playsink: Fix subpicture overlay when deinterlacing disabled.
Fix a bug when reconfiguring the playsink where the subpicture
stream is broken by attempting to connect it through
streamsynchroniser and second time.
2010-10-28 23:15:43 +01:00
Edward Hervey a5752d8ea7 decodebin2: Don't add non prerolled stream to topology
If a final stream didn't preroll, don't add it to the topology since
it doesn't give any information at all.

https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:18:17 +02:00
Mark Nauwelaerts 9d0fefc617 uridecodebin: workaround internal decodebin2 failing state change
Fixes #632656.
2010-10-21 19:07:24 +02:00
David Schleef a3f4bf9c72 Update generated orc code 2010-10-15 13:16:13 -07:00
Sebastian Dröge d8c1044fbd ffmpegcolorspace: Add support for A420 2010-10-15 11:12:38 +02:00
Tim-Philipp Müller df6bd68b80 typefinding: fix ADTS caps stream-format detail
Field should be "stream-format", not "stream-type".
2010-10-14 16:46:44 +01:00
Andrzej K. Haczewski 6c5cee1d02 typefinding: extend AAC typefinder to detect LOAS streams
Extend AAC typefinder to recognize LOAS stream as specified by
ISO/IEC 14496-3:2009.

https://bugzilla.gnome.org/show_bug.cgi?id=623918
2010-10-14 16:46:41 +01:00
Stefan Kost 2a00fefd2a *decodebin*: set pad-templates on ghostpads
This makes calling gst_pad_get_pad_template() work.
2010-10-13 23:30:55 +03:00
Stefan Kost 83c14483ed various: add a missing G_PARAM_STATIC_STRINGS flag to object properties 2010-10-13 16:13:31 +03:00
Tim-Philipp Müller 8d29594491 decodebin2: declare decodebin2 stable, deprecate the old decodebin
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 13:05:12 +01:00
Tim-Philipp Müller 8effe1e5ba playbin2: declare stable, deprecate the old playbin
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 12:55:31 +01:00
Sebastian Dröge 491b7af1fa uridecodebin: Set GST_ELEMENT_IS_SOURCE flag
uridecodebin behaves like a source, let's mark it as a source
2010-10-11 14:31:05 +02:00
Zaheer Abbas Merali b3629a7e1f multifdsink: gdp protocol is deprecated. People should use gdppay instead. 2010-10-07 18:55:34 +01:00
Sebastian Dröge e82835d08d volume: Regenerate generated orc C code again with an orc fix for loading double parameters 2010-10-08 12:30:33 +02:00
Sebastian Dröge ca5992bb29 volume: Update generated orc sources 2010-10-08 11:50:43 +02:00
Sebastian Dröge 4a0d435053 volume: Fix unit test failure for the controlled processing functions
Going over integer arithmetic will lead to minimal rounding errors,
leading to +/-1 changes for volume==1.0. Implement the controlled
processing with floating point arithmetic, which was already done
for the C versions anyway.
2010-10-08 11:49:09 +02:00
Sebastian Dröge 19b9460e60 audioconvert: Update generated orc files 2010-10-08 00:01:15 +02:00
Sebastian Dröge 80dbf7a901 volume: Update for orc changes
double parameters are declared with .doubleparam now.
2010-10-08 00:01:15 +02:00
Sebastian Dröge 4e2b6ac13a volume: Update generated orc sources 2010-10-08 00:01:15 +02:00
Sebastian Dröge 3c96cf8917 volume: Fix controlled processing via orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge d0e96cc90f volume: Actually enable usage of the orc optimized functions 2010-10-08 00:01:15 +02:00
Sebastian Dröge 39ef36b32c volume: Implement int32 processing with orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge c11ee1a100 volume: Implement controlled processing for int16/1-2ch and int8/1,2,4ch with orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge 0bf4abe581 volume: Implement controlled processing for f64/1ch and f32/1-2ch in orc 2010-10-08 00:01:15 +02:00
Sebastian Dröge 988849a8b4 volume: Convert parts of the controlled processing to orc 2010-10-08 00:01:14 +02:00
Sebastian Dröge ac38fbc3a7 volume: Implement f64 scaling with orc
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Sebastian Dröge f5e9d8bb62 audioconvert: Implement remaining conversion functions from/to doubles to orc
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Tim-Philipp Müller 4482cacb24 audiorate: use g_object_notify_by_pspec() if possible
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:54:32 +01:00
Tim-Philipp Müller 82d2669f4f videorate: use g_object_notify_by_pspec() if possible
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:37:10 +01:00
Thiago Santos 6d8cb1f42d streamsynchronizer: Do not advance segment starts beyond stop times
Advance stop times too when they are getting higher than the
stop time of segments, avoiding assertions.

The stop time has to be advanced too so that running time keep in sync
for gapless mode.

https://bugzilla.gnome.org/show_bug.cgi?id=631312
2010-10-07 11:20:48 -03:00
Tim-Philipp Müller a86613a487 videoscale: use math-compat.h here as well
Hopefully the powers that be don't mind the gst/glib include here
too much.
2010-10-05 19:15:47 +01:00
Tim-Philipp Müller 383f7edaf4 videotestsrc: include new math-compat.h header for rint() on MSVC
Should fix compilation with Visual Studio 2008.

https://bugzilla.gnome.org/show_bug.cgi?id=630802
2010-10-05 19:13:43 +01:00
Sebastian Dröge bcf7a7341e volume: Update generated orc files 2010-10-01 10:47:08 +02:00
Sebastian Dröge c1bf1ba843 volume: Improve f32 scaling by using only a single array
Passing the same array as dest and src is invalid anyway because
they're maked with the restrict qualifier.
2010-10-01 10:45:24 +02:00
Arun Raghavan 0cf81938a1 pbutils: add AAC profile detection to codec utils
This moves AAC profile detection to pbutils, and uses this in
typefindfunctions. This will also be used in qtdemux.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_profile()
API: codec_utils_aac_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan c77f88cac6 pbutils: add codec-specific utility functions for AAC
This allows us to add generic codec-specific functionality, like
extracting profile/level data from headers, without having to duplicate
code across demuxers and typefindfunctions.

As a starting point, this moves over AAC level extraction code from
typefindfunctions, so it can be reused in qtdemux, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=617314

API: gst_codec_utils_aac_get_sample_rate_from_index()
API: gst_codec_utils_aac_get_level()
2010-09-30 13:09:28 +01:00
Edward Hervey b8dea19bbd decodebin2: Don't post async-done when not needed
Where it was previously located, we would get async-done for the first
unknown-type, even if other valid streams would appear afterwards.
decode_bin_expose() will take care of posting async-done when the group
is exposed.

But we still want to post it in case the typefinding returned an unknown
type, in which case we will post it after posting an error.

These two changes ensure we do as much as possible before posting async-done.
2010-09-29 18:59:16 +02:00
Edward Hervey 4e781d6fe3 volume: orc fixup for loading float arguments
This is only used with DISABLE_ORC.
2010-09-20 16:29:20 +02:00
Sebastian Dröge ff45b44e19 typefindfunctions: Add mp3 to the apetag extensions 2010-09-20 11:14:55 +02:00
David Schleef ff409e474a videotestsrc: Fix regression in ball pattern
Was painting using two different methods.
2010-09-18 13:15:08 -07:00
David Schleef bec69e20ae orc: update generated files to fix MSVC compile issues 2010-09-16 18:03:23 -07:00
David Schleef af87634078 videoscale: Don't use broken orc feature 2010-09-16 17:56:49 -07:00
Thijs Vermeir 956a075fc4 videotestsrc: Fix indentation 2010-09-16 17:25:00 +02:00
Thijs Vermeir 8d14994bb5 videotestsrc: add bar pattern
Simple bar with foreground color on the background color
2010-09-16 17:14:20 +02:00
Thijs Vermeir ef02142125 videotestsrc: fix segfault on negative horizontal-speed 2010-09-15 15:29:47 +02:00
Edward Hervey 75b522dacf decodebin2: Actually dispose the unused ghostpads 2010-09-15 14:17:58 +02:00
Sebastian Dröge 35c76b3409 Revert "audioresample: Add GAP flag support"
This reverts commit 129af0d8e6.

This shouldn't be committed at all, it isn't ready and apparently
was in the wrong branch locally.
2010-09-15 11:28:29 +02:00
Leo Singer 129af0d8e6 audioresample: Add GAP flag support
Fixes bug #586570.
2010-09-15 11:01:45 +02:00
David Schleef d71890156a videotestsrc: Add UYVP 2010-09-14 13:21:54 -07:00
David Schleef 08be25ce62 videotestsrc: Various improvements
Replace moving-color-bars pattern with smpte100, and change
moving-speed to horizontal-speed.  Default is now 0.  Add
a rotation stage to pattern building.
Allocate a temporary scanline for building images.  Remove
unused code.  Disable several patterns that we're unable to
test and probably never used.  Add other variants of bayer
sampling.  Convert some patterns to use videotestsrc_blend_line.
2010-09-14 13:21:54 -07:00
David Schleef 8e60eca315 videotestsrc: clean up blink pattern 2010-09-14 13:21:54 -07:00
David Schleef ef981b53b6 videotestsrc: Clean up the RGB code 2010-09-14 13:21:54 -07:00
David Schleef bb80df3a33 videotestsrc: Convert to intermediate AYUV/ARGB
Scanlines are generated into AYUV/ARGB, then converted to the
various formats.
2010-09-14 13:21:54 -07:00
David Schleef 9802339481 videotestsrc: rearrange code to work on scanlines 2010-09-14 13:21:51 -07:00
David Schleef 9b8da1acfb videotestsrc: Fix recent breakage of smpte75 pattern 2010-09-14 12:33:22 -07:00
Thijs Vermeir 809460c651 videotestsrc: add moving color bars pattern
This pattern is moving the color bars with a given
speed. Negative speed is inverting the moving direction.

https://bugzilla.gnome.org/show_bug.cgi?id=628500
2010-09-14 12:33:21 -07:00
David Schleef 0cceeb2035 videoscale: refactor using more Orc code
Convert downsampling to Orc.  Convert horizontal linear scaling
to Orc.  Combine horizontal and vertical scaling into one pass.
2010-09-14 12:33:21 -07:00
Edward Hervey 168aceb3da playback: Switch to using gst_video_convert_frame
https://bugzilla.gnome.org/show_bug.cgi?id=629157
2010-09-14 08:42:43 +02:00
Mark Nauwelaerts 60cad9f007 decodebin2: prevent another race with shutdown state change 2010-09-13 10:06:13 +02:00
Sebastian Dröge 18b282e49f orc: Fix generated source files 2010-09-10 08:43:17 +02:00
Sebastian Dröge 9b85b13d80 adder: Do debug category initialization in plugin_init again 2010-09-09 11:12:56 +02:00
Sebastian Dröge 3c43dbfc51 orc: Update generated source files everywhere 2010-09-09 10:59:59 +02:00
Sebastian Dröge 8ba4b70118 Revert "Revert "Use init functions for Orc code""
This reverts commit 93aa13639d.

Everything should work now after regenerating the disted source files.
2010-09-09 10:57:41 +02:00
Edward Hervey 91ee8507ef videotestsrc: .gitignore new generate_sine_table 2010-09-06 11:53:35 +02:00
Stefan Kost c45b9d4aef playback: ref the selector pad class inside input-selector
Minimizes the delta to original element in -bad and allows us to keep the
type static.
2010-09-06 11:44:17 +03:00
David Schleef d03fc85095 videotestsrc: Use static sine table 2010-09-05 20:59:38 -07:00
David Schleef 131d619737 videotestsrc: Add foreground/background-color properties
Replace solid-color property with foreground-color and add
background-color.  Pull some common code out of each of the
pattern generating functions.  Fix many of the patterns to
use foreground-color/background-color instead of white/black.
Generated images are indentical to previously if foreground-color
and background-color are left as default.

API: GstVideoTestSrc::foreground-color
API: GstVideoTestSrc::background-color
2010-09-05 20:59:34 -07:00
David Schleef fc3840ee73 videotestsrc: deprecate colorspec property
Fixes: #616392.
2010-09-05 17:05:36 -07:00
Sebastian Dröge 65e5984634 audioconvert: Simplify float->s32 conversion
orc 0.4.7 is doing saturated conversion from floats to integers
and it's not necessary to do this manually anymore.
2010-09-05 12:57:36 +02:00
Sebastian Dröge dd910ceaf4 audioconvert: Update disted orc files 2010-09-05 12:12:43 +02:00
Sebastian Dröge 4e0673872d volume: Enable float processing with orc again 2010-09-05 12:09:42 +02:00
Sebastian Dröge 24831973c0 audioconvert: Use the ORC double support 2010-09-05 12:09:42 +02:00
Edward Hervey 9e0358930d playback: Switch to gstfactorylist from core
https://bugzilla.gnome.org/show_bug.cgi?id=626181
2010-09-03 19:31:52 +02:00
Stefan Kost c150945e67 videotestsrc: fix typo in property description 2010-09-02 12:58:34 +03:00
Sebastian Dröge 1c2846a0fc audiorate: Fill segment until the end on EOS 2010-09-01 11:37:37 +02:00
Sebastian Dröge 4da242a6b2 videorate: Fill the segment on EOS or at least produce enough frames to use the complete buffer duration
Fixes bug #628400.
2010-09-01 11:33:12 +02:00
Sebastian Dröge 20d5c6d05c videorate: Don't ignore flow returns when filling the previous segment during NEWSEGMENT handling 2010-09-01 11:22:25 +02:00
Stefan Kost c50104c94e adder: use GST_BOILERPALTE macro 2010-09-01 10:07:02 +03:00
Edward Hervey e75e7dfa80 playback: Set queues silent property to TRUE
We don't use the queue signals within playsink.
2010-08-31 10:12:54 +02:00
Sebastian Dröge c591b98864 uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
Otherwise we might try to enable it for live streams, where this would
cause playback to fail completely.

Fixes bug #628028.
2010-08-27 20:45:19 +02:00
Wim Taymans 93aa13639d Revert "Use init functions for Orc code"
This reverts commit b2051090b4.

Fixes the build again until someone pushes the regenerated .c/.h
files too.
2010-08-27 11:49:47 +02:00
David Schleef f3a989319b videotestsrc: clean up code
Merge various color structures into one.
2010-08-26 17:20:55 -07:00
David Schleef c831456188 videotestsrc: Add ball pattern 2010-08-26 17:03:13 -07:00
David Schleef b2051090b4 Use init functions for Orc code 2010-08-26 17:03:13 -07:00
Stefan Kost e4d33ef53b volume: make the orc usage for float conditional again
See bug #628009. The tests still fail in the orc code (which we just don't call
now).
2010-08-26 15:19:00 +03:00
Stefan Kost 93b2924485 volume: enable ORC for float in volume 2010-08-25 19:03:51 +03:00
Sebastian Dröge 2ee9360cf6 audioconvert: Require ORC 0.4.7 for the loadl/storel opcodes
And update disted files to allow compilation with no or too old ORC.
2010-08-24 15:07:40 +02:00
Alessandro Decina 842a6c64c5 adder: Make sure FLUSH_STOP is always sent after a flushing seek.
Send FLUSH_STOP right after forwarding the seek event upstream if necessary.
This makes sure that adder->srcpad is not left flushing if seeking fails or if
upstream is blocked.

The same fix was already applied to videomixer in 49b2a946.
2010-08-24 11:43:23 +02:00
Sebastian Dröge 5e0706c74f audioconvert: Use ORC for the float<->int32 conversion
This should speed up standard Vorbis encoding and decoding pipelines a bit.

Thanks to David Schleef for the assistance to get the ORC code right
and explaining everything.
2010-08-24 11:11:49 +02:00
Sebastian Dröge 613c44044a videotestsrc: Fix NV21 rendering
Using the same as for NV12 will result in wrong colors and crashes.
2010-08-24 09:51:46 +02:00
Sebastian Dröge ac59769604 videorate: Mark duplicated frames with the GAP flag
We currently don't use the GAP flag for video and the docs say
that this is for buffers, that have been created to fill a gap
and contains neutral data. For video this is the previous frame.

This information can be used by encoders to encode the duplicated
frames more efficiently. See bug #627459.
2010-08-20 12:03:44 +02:00
Sebastian Dröge cd5527fa4e ffmpegcolorspace: Add back support for 8 bit paletted RGB
This was removed by 3a00a97fd2
while making the pad template caps more compact.

Fixes bug #626629.
2010-08-19 18:51:25 +02:00
Edward Hervey 8b4bea5f6a playback: Delay usage of GstFactoryList
By delaying it to when it's actually needed, we speed things up a bit
since some elements might have been added/removed in between.

https://bugzilla.gnome.org/show_bug.cgi?id=626718
2010-08-13 17:00:05 +02:00
Robert Swain 268270d35e playbin2: uridecodebin: add property to configure ring buffer size 2010-08-13 16:48:22 +02:00
Tim-Philipp Müller 2dab0a8928 ffmpegcolorspace: remove chroma-site and color-matrix fields from RGB caps 2010-08-12 11:46:39 +01:00
Mark Nauwelaerts 9975a2d7b4 streamsynchronizer: prevent deadlock with _chain when deactivating pad
Fixes #626581.
2010-08-12 12:07:34 +02:00
Stefan Kost 596d148390 playback: bad bad editor, readd missing line to fix the build 2010-08-12 12:51:35 +03:00
Mark Nauwelaerts c1a705acbc streamsynchronizer: send preroll buffer when delaying preroll eos
That is, if eos is received which will not be forwarded, and the stream
has not yet seen any data, then send a buffer to preroll downstream
(which might otherwise be accomplished by the eos event).
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts 2379e96bbc playsink: remove some heuristic in chain configuration code
.. since queues are now inserted unconditionally.
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts 6c5b437118 playbin2/playsink: update subtitle handling for streamsynchronizer
Streamsynchronizer excepts to see stream-changed msg for all streams, but to
arrange for this, video and subtitle streams need to be decoupled by means
of queues (due to pad blocks that may occur).

Fixes #626463.
2010-08-12 10:52:59 +02:00
Mark Nauwelaerts ff8bdcfe94 playsink: always have a queue in chain head to aid streamsynchronizer
Specifically, as the latter may have one thread pushing EOS to several streams,
that needs to be decoupled into various thread to prevent preroll hanging
problems.
2010-08-12 10:52:58 +02:00
Mark Nauwelaerts 385446bc90 streamsynchronizer: drop lock when pushing eos downstream
... to prevent deadlock (e.g. upon seek) when downstream waits in preroll.
2010-08-12 10:52:58 +02:00
Mark Nauwelaerts 837d524ef0 streamsynchronizer: clear stream eos state on FLUSH and new stream 2010-08-12 10:52:58 +02:00
Mark Nauwelaerts 1a40681f53 playsink: set READY sinks to NULL before freeing chain upon failure 2010-08-12 10:52:58 +02:00
Stefan Kost 23cadbae94 playback: move tests from plugin-dir to tests/examples/playback 2010-08-12 10:52:34 +03:00
Sebastian Dröge 4d757a29ee videoscale: Only set the PAR if the caps already had a PAR
Otherwise we're producing different caps and basetransform thinks that it
can't passthrough buffer allocations, etc.

In 0.11 all video caps really should have the PAR set...
2010-08-11 18:10:45 +02:00
Mark Nauwelaerts be6fb6e747 videotestsrc: add solid-color pattern
... which generalizes the current listing of white, black, etc.
In particular, also allow specifying alpha channel, and modify
some structures and pattern filling to cater for alpha value as well.

Fixes #624919.

API: GstVideoTestSrc:solid-color
2010-08-09 09:47:41 +02:00
Wim Taymans 908afd4b15 decodebin2: use more efficient way of getting caps
When inspecting the caps of a pad, try to get the pad _CAPS first before calling
the getcaps function.
2010-08-04 10:33:31 +02:00
Thiago Santos d123ab7bb1 typefind: Detect avc1 ftyp as video/quicktime
Detects avc1 ftyp as video/quicktime (iso variant)
2010-08-01 06:53:28 -03:00
Tim-Philipp Müller 818f395402 streamsynchronizer: fix printf format compiler warnings
Make OSX build bot happy.
2010-07-26 20:25:55 +02:00
Sebastian Dröge 53318f20cc videorate: Fixate the pixel-aspect-ratio if necessary 2010-07-26 16:05:44 +02:00
Sebastian Dröge 175aae9e85 streamsynchronizer: Delay EOS events until all streams are EOS
This fixes a race condition in playbin2's gapless mode, where the
EOS of other streams might arrive in the sinks before the last stream
ends and the switch to the new track happens. The EOS sinks won't
accept any new data then and playback stops.

To prevent this, delay all EOS events until all streams are EOS
and advance the sinks of the EOS streams by filler newsegment
events if necessary.

Fixes bug #625118.
2010-07-24 18:17:43 +02:00
Arun Raghavan ae03de8ff8 typefindfunctions: export 3gp profile in caps
This reads the 3gp profile from the major/compatible brands and puts
this as a 'profile' field in caps. This can be used by demuxers to
decide whether they can handle this stream or not. Also needed for
DLNA.

https://bugzilla.gnome.org/show_bug.cgi?id=620291
2010-07-24 10:50:45 +01:00
Parthasarathi Susarla aad661ec77 typefinding: detect enhanced AC-3
https://bugzilla.gnome.org/show_bug.cgi?id=623846
2010-07-24 09:48:41 +01:00
Sebastian Dröge ec3c19189d streamsynchronizer: Fix another deadlock when going PAUSED->READY while streams are waiting for the GCond 2010-07-22 09:13:48 +02:00
Edward Hervey b93edac480 playsink: Switch to faster pad linking methods
Logic for choice of GST_PAD_LINK_CHECK_* is as follows:
* Where return of pad_link wasn't checked before : NOTHING
* Where linking is between known compatible elements : NOTHING
* All other cases : TEMPLATE_CAPS

Slashes down playsink reconfigure by up to 50% cpu time.
2010-07-20 21:05:45 +02:00
Sebastian Dröge c199a560a9 playsink: Set add-borders=true on the videoscale instances
This makes sure that we always keep the display aspect ratio and
add black borders if necessary, which is usually something you want
for viewing a video.
2010-07-19 15:59:17 +02:00
Sebastian Dröge 6fb91f7711 videoscale: Rename borders property to add-borders 2010-07-19 15:59:17 +02:00
Tim-Philipp Müller ef4dc0ccf4 videoscale: update disted orc files for latest changes 2010-07-19 09:39:28 +01:00
Sebastian Dröge 52e711b11d videoscale: Add support for adding black borders to keep the DAR if necessary
Fixes bug #617506.
2010-07-18 15:44:14 +02:00
Sebastian Dröge 619e5b6e44 videoscale: Fix linear scaling of UYVY scanlines
Fixes bug #624656.
2010-07-18 15:44:14 +02:00
Sebastian Dröge fc9de9e0a1 videoscale: Fix caps fixating if the height is fixed but the width isn't 2010-07-18 15:44:14 +02:00
Sebastian Dröge 58c77eb1b4 videoscale: Remove interlaced scaling again
This behaviour was not preferred and caused visible image quality
degradations. The real solution would be, to apply a real
deinterlacing filter before scaling the frames.

Fixes bug #615471.
2010-07-18 15:44:13 +02:00
Sebastian Dröge 9fe51a4a50 videoscale: Add helper method for filling the VSImage struct 2010-07-18 15:44:13 +02:00
Tim-Philipp Müller bd0adb11fd typefinding: make mpeg-ts typefinder scan more data
We only look for packets with payload, but it appears there may be packets without,
which makes it harder to find the N packets with payload in a row that we need in
order to typefind this successfully, so scan some more data than necessary in the
optimistic scenario. Alternatively we could change IS_MPEGTS_HEADER().

Fixes #623663.
2010-07-18 11:37:11 +01:00
Sebastian Dröge a16024d9fb playsink/streamsynchronizer: Remove and deactivate pads after calling the change_state function of the parent class
Fixes some deadlocks.
2010-07-16 18:51:35 +02:00
Sebastian Dröge 1605bef4b9 streamsynchronizer: Drop DISCONT flag on first buffer for new streams
Also reset stream state when going back to READY and on flush-stop.
2010-07-16 18:25:38 +02:00
Sebastian Dröge 405b47a79a playsink: Fix gapless playback in many non-simple scenarios
Before gapless playback failed when switching between audio-only,
video-only and audio-video files, when choosing different clocks
and when the different streams had different durations.

This is now handled by a helper element, which keeps track of the
running times of all streams and synchronizes them.

Fixes bug #602437.
2010-07-16 17:40:46 +02:00
Sebastian Dröge f835533cb4 playbin2: Remove QOS event adjustments for gapless playback mode 2010-07-16 17:40:46 +02:00
Philip Jägenstedt 72ca12e4c1 typefind: only associate .webm with WebM
.weba (audio) and .webv (video) were speculation on my part before
the public launch. As of yet no decision has been made on the
file extension for audio-only WebM, and I'm pretty sure there will
never be one for video-only.

Fixes bug #623837.
2010-07-16 17:40:45 +02:00
Mark Nauwelaerts 5e7ff51d19 playsink: use proper error message code for failing state change 2010-07-16 13:26:26 +02:00
Sebastian Dröge 8bd37ab995 playbin2: Disconnect and destroy uridecodebins when going from READY to NULL
Fixes spurious errors that happen after an error and playing a working
stream afterwards or signals that are emitted for non-active groups.

Fixes bug #624266.
2010-07-14 15:11:17 +02:00
Sebastian Dröge 115e503bdf Revert "playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2"
This reverts commit 9d7538247f.

If the DVD subpicture caps are not part of the raw caps, uridecodebin
doesn't qualify resindvdbin as raw source and plugs decodebins, which
causes broken DVD playback because of bugs elsewhere.

This change was originally added to only expose supported, raw subtitles,
e.g. if the subtitle sink did not support DVD subpictures but a converter
to some supported format exists. It's not very important right now because
we have nothing (that is autoplugged) to convert from plaintext/pango-markup
or DVD subpictures to something else.

Fixes bug #623583.
2010-07-06 09:47:45 +02:00
Sebastian Dröge 6e9deae749 ffmpegcolorspace: Use correct Y offset for YVYU -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge d774b46077 ffmpegcolorspace: Use correct Y offset for the YUY2 -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge 263201d9e7 ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to 8 bit grayscale
The last pixel wasn't written before for odd widths.

Fixes bug #623418.
2010-07-02 20:09:58 +02:00
Sebastian Dröge 9c9f97251a ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
The last pixel wasn't written before.

Fixes bug #623384.
2010-07-02 14:58:37 +02:00
Sebastian Dröge ef4165f08b ffmpegcolorspace: Fix invalid memory accesses with odd widths/heights during subsampling
Fixes bug #623375.
2010-07-02 13:59:55 +02:00
Sebastian Dröge bc0eefaead playbin2: If setup of the source element fails in READY->PAUSED deactive the current group
Otherwise the uridecodebin will be still a child of playbin2 and
its signals will still be connected. In future state changes this
will then emit unrelated signals that will confuse playbin2 or,
even worse, cause crashes and assertions.

Fixes bug #623318.
2010-07-01 21:29:14 +02:00
Sebastian Dröge 47317338e9 videotestsrc: Explicitely link with $(LIBM) 2010-06-27 06:38:24 +02:00
Sebastian Dröge a75aa2a20c videoscale: Explicitely link with $(LIBM) 2010-06-27 06:38:24 +02:00
Tim-Philipp Müller b16e7e8fa2 gst: update orc files 2010-06-26 18:19:33 +01:00
Edward Hervey ec637580a8 decodebin2: Properly clean DecodeChain after errors.
If an error happens, the PAUSED state will never be reached. If an
application re-uses decodebin2 (like totem) where one would normally
set to READY between each file, the cleanup that normally happens in
the PAUSED=>READY codepath will never be called, resulting in the
following file to re-use the previous demuxer/decoder/...

https://bugzilla.gnome.org/show_bug.cgi?id=622807
2010-06-26 17:57:24 +02:00
Edward Hervey 3a00a97fd2 ffmpegcolorspace: Use a more concise pad template
Speeds up caps nego 2 fold

https://bugzilla.gnome.org/show_bug.cgi?id=622696
2010-06-25 17:07:12 +02:00
Arun Raghavan 026e5d3e67 typefinding: Mark ISO 14496-14 files as video/quicktime
These are currently being marked as audio/x-m4a which is incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=620720
2010-06-24 14:25:38 +01:00
Sebastian Dröge 153b21fc85 videoscale: Fix resampling of ARGB scanlines
Previously we would read behind the end of the source lines.
2010-06-24 12:06:05 +02:00
Wim Taymans 7379202cca playsink: clear ts-offset pointer
We need to clear the pointer to our ts-offset element when we destroy the video
chain elements to make sure nobody derefs it to invalid memory afterwards.
2010-06-23 12:10:32 +02:00
Edward Hervey 97e14fda28 playsink: Reset ts_offset field when freeing chain
Otherwise we would end up with a bogus ->audiochain->ts_offset field
which would cause segfaults/assertions when trying to modify the
'ts-offset' property in update_av_offset().

Was easy to trigger when using a list of audio+video files mixed with
video-only files in totem.
2010-06-23 10:16:07 +02:00
Sebastian Dröge cff70878b6 ffmpegcolorspace: Add YUY2/YVYU to all RGB formats conversions 2010-06-17 17:21:01 +02:00
Sebastian Dröge 21cb7fd0ff ffmpegcolorspace: Fix Y42B to YUY2/YVYU/UYVY conversion for odd widths 2010-06-17 17:21:01 +02:00
Sebastian Dröge bd56c3c44f ffmpegcolorspace: Fix YUY2/YVYU/UYVY to Y42B conversion for odd widths 2010-06-17 17:21:00 +02:00
Wim Taymans 6d2621d02c decodebin2: improve autoplugging
Use the pad caps when they are available to continue the autoplugging. If the
pad caps are set, they are fixed and then we can directly continue autoplugging.
2010-06-16 19:17:05 +02:00
David Schleef 7778ed7382 videoscale: Fix black horizontal line in image 2010-06-14 15:46:53 -07:00
Edward Hervey 7b2584ed68 typefindfunctions: Fix unitialized variables
yay macosx compilers :(
2010-06-14 14:13:32 +02:00
Edward Hervey 801cab604d ffmpegcolorspace: Use Quarks for structure name/field checking 2010-06-14 13:28:54 +02:00
Edward Hervey 3f1f8f66ed ffmpegcolorspace: Speed up _remove_format_info
Instead of copying full caps, use the fact that the provided caps only have
one structure and only copy around structures.
2010-06-14 13:28:54 +02:00
Edward Hervey 19f5fda87d ffmpegcolorspace: Transfer structures instead of copying them
Avoids many expensive structure copies
2010-06-14 13:28:50 +02:00
Prahal 2cb7cfab19 decodebin2: use accumulator for autoplug-sort
Use an accumulator for the autoplug-sort signal so that we can stop the emission
when a signal handler produced a valid result. This avoids the object handler
to overwrite the results from user signals.

Fixes #621161
2010-06-14 11:19:10 +02:00
Sebastian Dröge fa8fd0d7f6 videoscale: ...and add Y16 case for the linear scaling 2010-06-13 20:57:19 +02:00
Sebastian Dröge c2e01e09c4 videoscale: Add Y16 case for 4-tap scaling 2010-06-13 20:38:23 +02:00
Sebastian Dröge c2bdfc11af videoscale: Use correct variables for debug output 2010-06-12 21:04:48 +02:00