Commit graph

3029 commits

Author SHA1 Message Date
Edward Hervey 9d2bcb08fe decodebin2: Rewrite EOS-handling code
This is now really threadsafe and improves switching
between different groups.
2011-09-19 12:34:51 +02:00
Sebastian Dröge 936e87cdcf decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
Fixes bug #658846.
2011-09-19 11:54:27 +02:00
Sebastian Dröge b1bb1e9b26 subtitleoverlay: Implement support for switching between raw and non-raw video streams 2011-09-19 11:24:47 +02:00
Alessandro Decina a330ff0721 playbin2: fix compiler warning
Remove a check for gchar >= 128
2011-09-15 22:05:34 +02:00
Stefan Sauer b678f6cf69 adder: don't access the event after pushing
Fixes valgrind warnings.
2011-09-15 16:47:26 +02:00
Sebastian Dröge bd52f00796 Revert "playbin2: autoplug sink if stream is incompatible to the configured one"
This reverts commit b0b4e286c8.

We agreed that the previous (pre-.35) behaviour is broken and a bug and the
current behaviour is correct, deterministic and allows the application to
handle stuff properly while the old behaviour can't be handled properly by
applications and just worked in some applications by luck.

The solution to the problem that was solved by relying on the old, broken
behaviour would be, to make decodebin2/playbin2 more aware of decoders and
improve the autoplugging of decoders by considering the caps supported by the
sink instead of just using something with the highest rank.

See bug #656923.
2011-09-15 14:27:35 +02:00
Josep Torra b0b4e286c8 playbin2: autoplug sink if stream is incompatible to the configured one
Fixes regression since 0.10.33 where sinks that can cope with non raw
caps or custom caps are not autoplugged if there's a sink configured
with the properties video-sink and audio-sink which cannot handle
the stream. This change checks for compatibility on the configured one
and use it if success. Otherwhise it tries with the found factories.
2011-09-15 09:30:25 +02:00
Josep Torra 8f8ad316ce Revert "playsink: only add text overlay if vido sink also accepts raw caps"
This reverts commit a22faad18a. Instead
of disabling subtitles completelly when video stream have custom caps,
just let the sutbtileoverlay cope with them as now it's able to.
2011-09-14 11:05:45 +02:00
Josep Torra 596c75b541 subtitleoverlay: gracefully handle non raw video streams
Implement handling of non raw video streams by avoiding colorspace
elements and autoplugging a compatible renderer if available. Fallback
to passthrough if no compatible renderer is found.
2011-09-14 11:05:45 +02:00
Tim-Philipp Müller 14a79628a7 playbin2: try to catch malformed URIs
Only log in debug log for now, since the check is a bit
half-hearted, its purpose is mostly to make sure people
use gst_filename_to_uri() or g_filename_to_uri().

https://bugzilla.gnome.org/show_bug.cgi?id=654673
2011-09-13 21:57:10 +01:00
Vincent Penquerc'h 4095551b31 typefind: recognize Asylum modules
Note that there is already a AMF detection for a different
magic, I'm not sure if that's a different format with the
same initials or not. AMF is used for a few different formats
(including video), so...

This fixes playbin2 playing Asylum modules.

https://bugzilla.gnome.org/show_bug.cgi?id=658514
2011-09-09 13:54:45 +02:00
Nicolas Dufresne 25939e0218 subparse: Improve subrip type check regex
This patch prevents timestamp like "1 1:00:00", which would have been seen
as hour 101 by our parser, and allow single digit hour, minute and seconds
as it's already supported by the parser, and also by other implementation
like in mplayer. This fixes bug 657872.

https://bugzilla.gnome.org/show_bug.cgi?id=657872
2011-09-08 14:52:15 +02:00
Sebastian Dröge 21bc8ddcb7 Revert "Revert "decodebin2: Do a subset check before actually using a factory""
This reverts commit 5f5d832a3b.
2011-09-08 14:42:13 +02:00
Sebastian Dröge 0f654f3feb Merge branch 'master' into 0.11
Conflicts:
	docs/libs/Makefile.am
	tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Sebastian Dröge 5f5d832a3b Revert "decodebin2: Do a subset check before actually using a factory"
This reverts commit 50a88396ae.

See bug #658541.
2011-09-08 13:25:27 +02:00
Sebastian Dröge 9e2ce5bbb5 decodebin2: Make sure to fixate Parser/Converter caps before continuing autoplugging 2011-09-07 16:44:59 +02:00
Josep Torra a22faad18a playsink: only add text overlay if vido sink also accepts raw caps
Fixes regression, pipeline fails with not negotiated, on media
containing subtitles when decoder/sink with custom caps is used.
2011-09-07 16:08:38 +02:00
Sebastian Dröge 46e26824d4 decodebin2: Intersect the factory caps with the current caps for the capsfilter
Otherwise we'll include many incompatible caps in the capsfilter that
will only slow down negotiation.
2011-09-07 14:20:36 +02:00
Stefan Sauer abc96efb2a docs: add two mising enum docs 2011-09-07 14:14:02 +02:00
Tim-Philipp Müller f93748fbd4 decodebin2: fix element factory refcounting
g_value_get_object() does not give us our own ref.

Fixes "Trying to dispose object "flacparse", but it still has a parent "registry0".
You need to let the parent manage the object instead of unreffing the object directly."
and similar warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=658416
2011-09-07 12:34:06 +01:00
Wim Taymans c0d31dd555 rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN 2011-09-06 16:46:02 +02:00
Wim Taymans 8ee3da5bba Merge branch 'master' into 0.11
Conflicts:
	gst/playback/gstsubtitleoverlay.c
	tests/check/elements/decodebin2.c
2011-09-06 15:31:53 +02:00
Wim Taymans 7012e88090 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/audio.h
	gst-libs/gst/audio/gstaudiodecoder.c
	gst-libs/gst/audio/gstaudiodecoder.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudioencoder.h
	gst/playback/Makefile.am
	gst/playback/gstplaybin.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkvideoconvert.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	gst/videoscale/gstvideoscale.c
	win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
Sebastian Dröge 50a88396ae decodebin2: Do a subset check before actually using a factory
This prevents autoplugging if the caps have a non-empty intersection
but are not accepted by the next element's pad.
2011-09-06 14:16:10 +02:00
Sebastian Dröge c5733632ee subtitleoverlay: Use subset check instead of non-empty-intersection check to check if pads are compatible 2011-09-06 14:04:34 +02:00
Sebastian Dröge e3530f434b playbin2: Use subset check instead of non-empty-intersection check to check if pads are compatible 2011-09-06 14:03:31 +02:00
Sebastian Dröge 4be8c44b08 decodebin2: Fix memory leak 2011-09-06 13:16:44 +02:00
Sebastian Dröge 20f9d0bec5 decodebin2: Correctly negotiate format for parsers that can convert different stream formats
This is done by adding a capsfilter after every parser/converter that contains
all possible caps supported by downstream elements. A capsfilter is necessary
here because the decoder is only selected after the parser selected a format
and the parser can't know what downstream would support otherwise.
2011-09-06 13:16:44 +02:00
Sebastian Dröge 1df9fa9ee8 playbin2: If a audio/video sink was already selected don't check caps of all other possible sinks 2011-09-06 13:16:44 +02:00
Wim Taymans 33196cdd2c audio: change audio format syntax a little
Remove the _ in front of the endianness prefix.
Remove the _3 postfix for the 24 bits formats.
Add a _32 postfix after the formats that occupy extra space beyond their
natural size.
The result is that the GST_AUDIO_NE() macro can simply append the endianness
after all formats and that we only specify a different sample width when it is
different from the natural size of the sample. This makes things more consistent
and follows the pulseaudio conventions instead of the alsa ones.
2011-09-06 12:06:39 +02:00
Vincent Penquerc'h 78f50f2d25 videorate: don't take the object lock twice in {set,get}_property
https://bugzilla.gnome.org/show_bug.cgi?id=658294
2011-09-06 09:44:38 +01:00
Thiago Santos 2768ed75e0 encodebin: Select muxer further
Sort muxers based on their caps and ranking before iterating to
find one that fits the profile.

Sorting is done by putting the elements that have a pad template
that can produce the exact caps that is on the profile. For example:
when asking for "video/quicktime, variant=iso", muxers that
have this exact caps on their pad templates will be put first on
the list than ones that have only "video/quicktime".

https://bugzilla.gnome.org/show_bug.cgi?id=651496
2011-09-05 17:48:36 -03:00
Sebastian Dröge de4fc848fa decodebin2: Actually iterate over the factories instead of only taking the first one 2011-09-05 20:32:42 +02:00
Tim-Philipp Müller b1c00adf31 Revert "playsink: Try include 'pitch', if no other sink is provided"
This reverts commit 105814e2c7.

The general consensus seems to be that we should revert this for
now. If such behaviour is desired, we should probably enable it
via a flag. And maybe use the scaletempo plugin instead.
2011-09-05 14:44:27 +01:00
Sebastian Dröge 705ca1d55a playsink: Don't leak the videochain ts-offset element
Also don't leak the audiochain ts-offset element if one is
found but the sink doesn't support volume settings.
2011-09-05 12:02:37 +02:00
Sebastian Dröge 89a899fd9d playsink: Use gst_object_unref() instead of g_object_unref() for better debugging 2011-09-05 11:55:59 +02:00
David Schleef 4e38577b30 videoscale: Add modified Lanczos scaling method
Adds a Lanczos-derived scaling method, which is rather slow, but very
high quality.  Adds a few properties that can be used to tune various
scaling properties: sharpness, sharpen, envelope, dither.  Not currently
Orcified, but was designed with that in mind.
2011-09-01 15:16:50 -07:00
David Schleef 924f743981 playback: Add define for colorspace element
Single point of change if you want to switch from ffmpegcolorspace
to colorspace.
2011-09-01 11:41:31 -07:00
Sjoerd Simons 08ac05a06c videorate: fix dynamically changing average period
The average_period_set variable can be accessed in different threads, so
always lock it when reading. Furthermore when switching to averaging
mode we should make sure we don't have cached buffers that aren't used
in that mode. And any modeswitch will cause the latency to change, so we
should post a NewLatency message
2011-08-31 14:13:56 +01:00
Sjoerd Simons ea46b3c706 videorate: Port to basetransform 2011-08-31 14:13:56 +01:00
Sjoerd Simons f2438913f9 Correct added versions 2011-08-31 14:13:55 +01:00
Sebastian Dröge 49b301bcd6 playsink: Only unref ts_offset elements if they're not NULL 2011-08-31 14:45:08 +02:00
Sebastian Dröge 425d3ae7bc decodebin2: Keep the chain mutex locked while connecting to the notify::caps signal 2011-08-31 12:40:30 +02:00
Jan Schmidt 105814e2c7 playsink: Try include 'pitch', if no other sink is provided
As a default, try the pipeline 'pitch ! audioconvert ! autoaudiosink'
before trying plain autoaudiosink
2011-08-30 18:21:31 +10:00
Wim Taymans 811a8961bf playsink: fix ts_offset refcounting 2011-08-29 13:33:49 +02:00
Wim Taymans e694528155 base: port to 0.11 2011-08-29 13:28:08 +02:00
Wim Taymans e1287b97ab Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggmux.c
	gst-libs/gst/audio/audio.c
	gst-libs/gst/audio/audio.h
	gst-libs/gst/audio/multichannel.h
	gst-libs/gst/pbutils/Makefile.am
	gst-libs/gst/pbutils/gstdiscoverer.c
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkvideoconvert.c
	win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Wim Taymans 82d82203f6 base: fix for allocation methods rename 2011-08-26 14:26:37 +02:00
David Schleef a912374342 playback: reference count ts_offset
Apparently this object is being used after it's freed.  This is one
way to fix it, although perhaps not the best way.  Fixes: #656715.
2011-08-25 14:08:34 -07:00
Wim Taymans 81457756f0 audiotestsrc: use base class fill method 2011-08-25 13:21:14 +02:00
Wim Taymans 0a1874461a audio: rename UNPOSITIONED to DEFAULT_POSITIONS
Rename the UNPOSITIONED flag to the DEFAULT_POSITIONS flag because that is
really what the resulting GstAudioInfo will contain as the chanel mappings.
2011-08-24 14:13:33 +02:00
Sebastian Dröge e9a5d4f8fd playsink{audio,video}convert: Send NEWSEGMENT events to sinkpads instead of pushing them 2011-08-24 14:05:27 +02:00
Wim Taymans b0b6d9124d audiotestsrc: fix build 2011-08-24 11:05:05 +02:00
Wim Taymans 9ad89374a3 video: add colorimetry info
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Wim Taymans 2ce5c8b8be audio: use convert audio helper 2011-08-22 16:21:02 +02:00
Wim Taymans 0213407fbc audio: rename INT -> INTEGER
Spell INTEGER fully instead of using the int abreviation.
Remove some old functions.
2011-08-20 10:49:17 +02:00
Wim Taymans 8023f49d19 more audio caps porting 2011-08-19 17:41:22 +02:00
Wim Taymans f870178234 adder: port to new caps 2011-08-19 17:05:55 +02:00
Sebastian Dröge 85a3e7c98c audiofilter: Pass a const pointer to the audio format info to ::setup()
It is not meant to be changed by the subclass.
2011-08-19 10:06:39 +02:00
Wim Taymans ba41bb5ca7 Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggmux.c
	gst/playback/gstplaysink.c
2011-08-18 19:36:50 +02:00
Wim Taymans dae848818d audio: rework audio caps.
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00
Edward Hervey 2ee31ccac9 playsink: Reconfigure when pads are added later
Instead of just assuming all pads are created at the same time,
remember which ones are actually new (via ->pending_blocked_pads).

This allows the following use-case to properly work:
* Upstream starts with audio-only
* Only that pad gets data, blocks and a real audio sink is created
* Upstream laters adds a video stream
* A new pad is requested, blocks and reconfiguration kicks in in
  order to add a new real video sink
2011-08-18 13:42:26 +02:00
Vincent Penquerc'h 30236ddfd3 audioresample: fix build without orc
https://bugzilla.gnome.org/show_bug.cgi?id=656781
2011-08-18 11:03:58 +02:00
Wim Taymans 0290df6fc5 audiotestsrc: properly override fixate 2011-08-17 17:22:03 +02:00
Wim Taymans b01d32b195 videotestsrc: properly override the fixate function 2011-08-17 17:18:20 +02:00
Wim Taymans d679dd2c54 audioresample: fix after merge 2011-08-17 10:47:38 +02:00
Wim Taymans 246622b1e8 adder: fix after merge 2011-08-17 10:47:20 +02:00
Wim Taymans 33467d9629 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/pango/gsttextoverlay.c
	ext/theora/gsttheoradec.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/audioresample/gstaudioresample.c
	gst/encoding/gstencodebin.c
	gst/playback/gstdecodebin.c
	gst/playback/gstdecodebin2.c
	tests/check/elements/decodebin2.c
	tests/check/elements/playbin-compressed.c
	win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Wim Taymans 8fe31fa12e gststreamsynchronizer: don't abuse PREROLL flag
the preroll flag is not implemented and will disappear soon.
2011-08-15 18:38:04 +02:00
Wim Taymans e904c529e3 fix for _negotiated_caps() change 2011-08-15 12:18:15 +02:00
Vincent Penquerc'h 49ec6899f4 audioresample: fix quality setting being ignored by the resampler state
https://bugzilla.gnome.org/show_bug.cgi?id=636562
2011-08-12 09:55:17 +02:00
Vincent Penquerc'h 746415a6e3 audioresample: use SSE/SSE2 when possible
Compile in the code on i386 and x86_64, and use ORC to determine
when the runtime platform can run the code.

https://bugzilla.gnome.org/show_bug.cgi?id=636562
2011-08-12 09:55:11 +02:00
Vincent Penquerc'h 58fd202b7d audioresample: fix SSE2 building with double precision
The full double implementation was missing.

https://bugzilla.gnome.org/show_bug.cgi?id=636562
2011-08-12 09:53:12 +02:00
Tim-Philipp Müller 1c0fbbce10 subparse: fix runtime warnings when doing position query
Add missing 'break'.
2011-08-10 10:49:38 +01:00
Vincent Penquerc'h fa3e246866 typefind: bump probability if all frames we found are similar
Similar meaning same layer, same bitrate, and same number of channels

This fixes misdetection of (some MP3 files that have zero padding
between the ID3 tag and the MP3 stream) as H.264 video.

https://bugzilla.gnome.org/show_bug.cgi?id=656018
2011-08-10 11:20:31 +02:00
Josep Torra 5629ed74b3 Fix debug statements
Fixes build on MacOSX

Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Vincent Penquerc'h c2ce145e72 volume: fix sample depth typo
https://bugzilla.gnome.org/show_bug.cgi?id=656022
2011-08-05 13:37:05 +02:00
Sebastian Dröge 5580dd6a4d volume: Update disted ORC files 2011-08-05 13:06:31 +02:00
Thiago Santos 3687b056c4 encodebin: Set queues to silent=true
As encodebin doesn't connect to the queue signals, it can set
queues to silent mode to make queue not emit them.

Check https://bugzilla.gnome.org/show_bug.cgi?id=621299 for
more info on queue's silent property.
2011-08-03 14:14:55 -03:00
Thiago Santos b263bacc57 encodebin: Fix typo on installing properties
queue buffers and bytes properties have ids swapped, fix it.
2011-08-03 13:41:10 -03:00
Wim Taymans 97f1d1805b update ORC dist files 2011-08-02 12:24:37 +02:00
Wim Taymans 3f8e568dd3 videoconvert: update ORC dist files 2011-08-02 12:24:19 +02:00
Wim Taymans 5a85e1d75f base: update for new bufferpool API 2011-07-29 17:15:39 +02:00
Tim-Philipp Müller d71e6cb110 videotestsrc: use local libgstvideo here as well 2011-07-28 15:28:41 +01:00
Thiago Santos c874edd089 encodebin: rename flags names
Rename flags names from native-audio/-video to
no-audio/video-conversion to be more explicit on what it does
2011-07-28 11:21:26 -03:00
Tim-Philipp Müller c3234c84ed videoconvert: link to local libgstvideo-0.11 2011-07-28 14:18:34 +01:00
Tim-Philipp Müller bb65192151 ext,gst: update for query API changes 2011-07-27 01:16:53 +01:00
Stefan Kost 9a26e6c7bc adder: rework pending event handling
Use atomic ops on pending flags. Rename the segment_pending to
new_segment_pending. Set new_segment_pending not when we received seek, but
when we received the first upstream new_segment.
2011-07-26 12:37:11 +02:00
Stefan Kost a8228b062a adder: more debug logging for events 2011-07-26 12:37:11 +02:00
Edward Hervey 38a6919a7b decodebin2: Allow all EOS to go through if we don't have a next group
Only drop them if the current group isn't drained .. AND there is a
next group to switch to.

Should Fix #655268
2011-07-26 12:33:56 +02:00
Edward Hervey 059db89633 playbin2: Avoid resetting playsink when not needed
When we don't have specific {audio|video|text}-sink properties, don't
set them on playsink when reconfiguring.
If we do that, we end up setting the previous configured sink to
GST_STATE_NULL resulting in any potentially pending push being returned
with GST_FLOW_WRONG_STATE which will cause the upstream elements to
silently stop.

https://bugzilla.gnome.org/show_bug.cgi?id=655279
2011-07-25 18:44:33 +02:00
Edward Hervey c91928f7a2 decodebin2: Properly handle multi-stream chains
When we have a multi-stream (i.e. audio and video) input and the demuxer
adds/removes pads for a new stream (common in a mpeg-ts stream when the
program stream mapping is updated), the algorithm for EOS handling was
previously wrong (it would only drop the EOS of the *last* pad but would
let the EOS on the other pads go through).

The logic has only been changed a tiny bit for EOS handling resulting in:
* If there is no next group, let the EOS go through
* If there is a next group, but not all pads are drained in the active
  group, drop the EOS event
* If there is a next group and all pads are drained, then the ghostpads
  will be removed and the EOS event will be dropped automatically.
2011-07-25 10:45:36 +02:00
Wim Taymans 4fb67fb0da audioresample: fix for event handler change 2011-07-22 21:19:08 +02:00
Tim-Philipp Müller 9edbc92a27 decodebin: don't plug the same parser multiple times in a row
This allows us to make parsers accept both parsed and unparsed input
without decodebin plugging them in a loop until things blow up, ie.
without affecting applications that still use the old playbin or the
old decodebin.

(Making parsers accept parsed input is useful for later when we want
to use parsers to convert the stream-format into something the decoder
can handle. It's also much more convenient for application authors
who can plug parsers unconditionally in transcoding pipelines, for
example).
2011-07-15 16:14:11 +01:00
Wim Taymans 376164ab08 Merge branch 'master' into 0.11 2011-07-10 13:49:14 +02:00
Piotr Fusik b27d2469bd typefind: fixed detection of audio/x-sap
Fixes: #654295.

Signed-off-by: David Schleef <ds@schleef.org>
2011-07-09 16:19:48 -07:00
Tim-Philipp Müller 6be16ad773 gdppay: parse caps event and payload caps
Which makes it actually output stuff.
2011-07-08 20:03:27 +01:00
Tim-Philipp Müller dd56714b14 ffmpegcolorspace -> videoconvert 2011-07-07 23:59:59 +01:00
Wim Taymans 26cc33cb62 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/tag/gstxmptag.c
	gst/encoding/gststreamsplitter.c
2011-07-07 11:10:39 +02:00
Wim Taymans 43bee0022a audioconvert: update orc dist files 2011-07-07 10:28:08 +02:00
Wim Taymans d051f3cb5b audioconvert: don't use .init function
Don't use the .init function but compile all functions when needed instead of
when the plugin is registered.
2011-07-07 10:24:55 +02:00
Wim Taymans ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Luis de Bethencourt bf816fe816 encodebin: fix compiler warning
cspace and cspace2 may run uninitialized.
2011-06-30 19:57:22 +01:00
Robert Swain 7ad1ba6fba encodebin: Add flags to disable conversion elements
Add a flags property and two flags to allow one to disable the
conversion elements within encodebin. Doing so insists that the
uncompressed input to encodebin for the appropriate stream type is
sufficient to meet the caps requirements of the encoders, muxers and
encodebin target.

This is mostly beneficial to bypass slow caps negotiations in the
conversion elements.
2011-06-30 00:59:18 +02:00
Robert Swain dc79c42484 streamsplitter: Fix getcaps src pad caps merge
Caps returned from gst_pad_peer_get_caps_reffed () may not be writable.
If they are not is should cause an assertion in gst_caps_merge (),
however, sometimes assertions are disabled in binary builds of -base and
it's safer to just be sure the caps are writable. Also, check that the
reffed caps pointer is not NULL.
2011-06-29 11:57:52 +02:00
Mark Nauwelaerts ebfd6acde1 playsink: only unset initialized GValue 2011-06-28 19:03:23 +02:00
Philip Jägenstedt f3e65f1c93 typefind: NULL check in degas_type_find
The length check isn't sufficient, an source might
report the correct length, but then still fail to
read the requested number of bytes for some reason.

https://bugzilla.gnome.org/show_bug.cgi?id=652642
2011-06-26 23:31:33 +01:00
Tim-Philipp Müller 92a85024de videoconvert: fix unused-but-set-variable compiler warning 2011-06-26 23:17:39 +01:00
Tim-Philipp Müller 8cede4ae6a gst, sys: remove GstImplementsInterface usage 2011-06-26 23:16:08 +01:00
Wim Taymans 2732300adc videotestsrc: port to video helpers
Port videotestsrc to use the video helper functions to parse caps and handle
video frames.
Enable GstMetaVideo to make us handle strided video.
2011-06-21 17:36:21 +02:00
Wim Taymans b43121e061 videotestsrc: small cleanups 2011-06-21 12:52:23 +02:00
Wim Taymans 97567606e2 videoscale: activate Video meta
Configure the allocator with GstMetaVideo because we can handle that using the
GstVideoFrame helpers.
2011-06-20 17:49:13 +02:00
Wim Taymans 426ec86be0 videoconvert: use new allocation setup
Add setup_allocation to configure video metadata in the negotiated bufferpool.
2011-06-20 17:39:05 +02:00
Wim Taymans 6d9e76f2de video: remove intermediate Plane structure
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans d93129d8da -base: port to GstVideoFrame API 2011-06-17 15:41:31 +02:00
Wim Taymans 6a254de438 video: port to new API
Add support for palette again.
Rewrite setup code for videoconvert using the new video methods.
2011-06-17 15:39:50 +02:00
Wim Taymans d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Wim Taymans d700111396 some more ffmpegcolorspace to videoconvert changes 2011-06-15 18:08:32 +02:00
Wim Taymans 35bec59536 ffmpegcolorspace: remove plugin 2011-06-15 18:01:04 +02:00
Wim Taymans db0a2f51b8 videoconvert: renamed from colorspace 2011-06-15 17:49:21 +02:00
Wim Taymans b94f979317 colorspace: fix caps negotiation 2011-06-15 16:52:52 +02:00
Wim Taymans edf33ec985 colorspace: port to 0.11 2011-06-15 16:28:44 +02:00
Tim-Philipp Müller e5a873db9d [MOVED FROM BAD 68/68] Update orc-generated disted C backup code to orc 0.4.14 2011-06-15 16:12:56 +02:00
Tim-Philipp Müller c68739369f [MOVED FROM BAD 67/68] 0.10.21.3 pre-release 2011-06-15 16:12:56 +02:00
Tim-Philipp Müller 23336a573f [MOVED FROM BAD 66/68] ext, gst: update disted orc backup files 2011-06-15 16:12:56 +02:00
Tim-Philipp Müller 003abf00d9 [MOVED FROM BAD 65/68] Fix some unused-but-set-variable warnings with gcc 4.6 2011-06-15 16:12:56 +02:00
Thibault Saunier f4eb67718f [MOVED FROM BAD 64/68] android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-06-15 16:12:56 +02:00
David Schleef 18c312473a [MOVED FROM BAD 63/68] colorspace: set dithering enum directly 2011-06-15 16:12:56 +02:00
David Schleef 18b568725a [MOVED FROM BAD 62/68] colorspace: Add support for r210 2011-06-15 16:12:56 +02:00
David Schleef 321cdc1340 [MOVED FROM BAD 61/68] colorspace: Fix YUV->RGB matrixing 2011-06-15 16:12:56 +02:00
David Schleef f53d15156b [MOVED FROM BAD 60/68] colorspace: Add dithering
Dithering only happens when a 16-bit-per-channel format is
involved.
2011-06-15 16:12:56 +02:00
David Schleef 1b3697cfe3 [MOVED FROM BAD 59/68] colorspace: fix a few formats 2011-06-15 16:12:56 +02:00
David Schleef 88a08599df [MOVED FROM BAD 58/68] colorspace: Add 16-bit-per-channel handling 2011-06-15 16:12:56 +02:00
David Schleef 4ae30538dc [MOVED FROM BAD 57/68] colorspace: Fix memleak 2011-06-15 16:12:56 +02:00
David Schleef 3c73b42cee [MOVED FROM BAD 56/68] colorspace: Fix memory leak 2011-06-15 16:12:56 +02:00
David Schleef be7f42f0ac [MOVED FROM BAD 55/68] colorspace: Disable matrixing on big-endian
It's broken until someone writes better Orc code.  Fixes #631232.
2011-06-15 16:12:56 +02:00
David Schleef 02ab743f36 [MOVED FROM BAD 54/68] colorspace: remove incorrect check 2011-06-15 16:12:55 +02:00
Sebastian Dröge 530279424f [MOVED FROM BAD 53/68] colorspace: Update generated ORC sources 2011-06-15 16:12:55 +02:00
Sebastian Dröge 45fc6162b5 [MOVED FROM BAD 52/68] colorspace: Inverse -base version check logic to actually make sense 2011-06-15 16:12:55 +02:00
Sebastian Dröge 660b1af2dc [MOVED FROM BAD 51/68] colorspace: Add support for IYU1 2011-06-15 16:12:55 +02:00
Sebastian Dröge 03d440668e [MOVED FROM BAD 50/68] colorspace: First version of YUV9 and YVU9 implementation 2011-06-15 16:12:55 +02:00
Sebastian Dröge 34cb2fa4a5 [MOVED FROM BAD 49/68] colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks 2011-06-15 16:12:55 +02:00
Tim-Philipp Müller e857835fe8 [MOVED FROM BAD 48/68] colorspace: fix build with current git of gst-plugins-base
ifdef tests don't work so well if we define them in the code
above in case they aren't defined.
2011-06-15 16:12:55 +02:00
Sebastian Dröge 3c106bad31 [MOVED FROM BAD 47/68] colorspace: Add support for 8 bit paletted RGB
This needs the 8 bit paletted support from -base
which will be committed after release. Without this
the 8 bit parts are disabled.
2011-06-15 16:12:55 +02:00
Tim-Philipp Müller 93862e63d8 [MOVED FROM BAD 46/68] cog, colorspace: update orc backup functions for latest changes
Should fix build on systems without the latest orc.
2011-06-15 16:12:55 +02:00
Sebastian Dröge 85b0252c5e [MOVED FROM BAD 45/68] colorspace: Add support for RGB15 and BGR15 2011-06-15 16:12:55 +02:00
Sebastian Dröge 5c3ec3819d [MOVED FROM BAD 44/68] colorspace: Add support for RGB16 and BGR16 2011-06-15 16:12:55 +02:00
Sebastian Dröge 017f2b1d88 [MOVED FROM BAD 43/68] colorspace: Add support for Y16 2011-06-15 16:12:55 +02:00
Sebastian Dröge 09e9e55441 [MOVED FROM BAD 42/68] colorspace: Fix Y800 ORC getline implementation 2011-06-15 16:12:55 +02:00
Sebastian Dröge ecfd247f02 [MOVED FROM BAD 41/68] colorspace: Add support for A420 2011-06-15 16:12:55 +02:00