Commit graph

2937 commits

Author SHA1 Message Date
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