Commit graph

3456 commits

Author SHA1 Message Date
Wim Taymans
29edc0c6a5 videoconvert: improve color transform setup
Remove hardcoded color matrices and compute the matrices using the cms helper
library that was in cogcolorspace before.
2012-06-04 16:17:31 +02:00
Wim Taymans
443b0a3c78 videoconvert: use video helper library more
Use VideoInfo to setup the conversion.
Use the color matrix from the video info.
2012-06-01 12:09:44 +02:00
Wim Taymans
7f134c1441 video: fix paletted format
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Bastien Nocera
02abd19584 uridecodebin: Use cache dir for download buffering
Instead of the temp directory. See:
http://0pointer.de/blog/projects/tmp.html

https://bugzilla.gnome.org/show_bug.cgi?id=677181
2012-05-31 12:54:49 +02:00
Wim Taymans
c7b2011d68 videoconvert: use video library pack/unpack
Remove obsolete code and use the video pack/unpack functions
2012-05-30 17:17:24 +02:00
Wim Taymans
d7af12a754 videotestsrc: enable more formats 2012-05-30 17:17:24 +02:00
Wim Taymans
0290e116eb videotestsrc: use generic packing code
Use the pack functions of the video library to construct the target
image.
Remove redundant functions.
2012-05-29 17:52:07 +02:00
Wim Taymans
059a6ca673 video: update for removed formats 2012-05-29 17:52:06 +02:00
Wim Taymans
f859dcd699 videoconvert: remove unused functions 2012-05-29 17:52:06 +02:00
Wim Taymans
03dc5d4a1b video: fix UYVP packing function 2012-05-28 17:11:46 +02:00
Wim Taymans
ae2c5e1757 videoconvert: fix v216 2012-05-28 16:31:14 +02:00
Wim Taymans
27d4061c6c videotestsrc: add support for I420_10 format
Add support for the I420_10 formats
Use the video frame api to get pixels and strides instead of our own
custom versions. Fixes the YVU9 format and probably some others.
2012-05-28 16:16:24 +02:00
Wim Taymans
0d12423aa2 videotestsrc: fix AYUV64 format string 2012-05-28 14:58:52 +02:00
Wim Taymans
d2a1613a43 videoconvert: add support for 10bit I420
Add support for 10bit I420
Reorganize some macros, have separate plane and component macros, fix
a problem with YV12 in the process.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-28 12:59:40 +02:00
Wim Taymans
29d24d4658 playbin: add current-*uri properties
Make the uri property getter return the next uri, like it was configured in the
setter.
Make a new current-uri and current-suburi property that reflects the currently
playing uri and suburi.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676665
2012-05-25 15:18:46 +02:00
Wim Taymans
4ebfa58a70 playbin: fix compilation 2012-05-24 13:43:06 +02:00
Sebastian Dröge
a67d9b349d playbin2: Put sinks before the other element factories in the autoplug factory list
This makes sure that we always prefer sinks that support a format without
decoding, independant of its rank. Previously we only sorted by rank.

Conflicts:

	gst/playback/gstplaybin2.c
2012-05-24 11:50:40 +02:00
Sebastian Rasmussen
6c2aea9551 Fix bug where debug category was declared inside a function
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676670
2012-05-24 10:33:02 +02:00
Tim-Philipp Müller
1c77a3d801 encodebin: don't access GstElementFactory structure directly 2012-05-19 15:17:18 +01:00
Alban Browaeys
71e39c0e84 playsink: do not abort if a property is not found.
If a property is not found (for example last-sample when
gst_debug_bin_to_dot_file is used while the pipeline is
slightly broken (thus no last-sample) the unref of the item
gvalue which is not refed fails. Only unref if it was found.
2012-05-15 09:22:44 +02:00
Alban Browaeys
7e054c9af0 playsink: missing guard around gst pad add probe
This miss prevent from switching from one track to the other.
Issue encountered with rhythmbox and totem ports.
2012-05-15 09:22:12 +02:00
Mark Nauwelaerts
4ce453de97 playbin2: default text element is now subtitleoverlay
... and not so much textoverlay, though the former also uses the latter.
2012-05-14 10:14:36 +02:00
Tim-Philipp Müller
0e216d1f4c typefinding, ogg: don't bother with annodex media types
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
2012-05-13 18:49:31 +01:00
Руслан Ижбулатов
d34b8023e9 playsink: fix printf arguments in debug message 2012-05-12 13:53:40 +01:00
Wim Taymans
6bd0272512 uridecodebin: fix format strings 2012-05-11 16:16:33 +02:00
Wim Taymans
cd1d6f7d2d decodebin2: fix format strings 2012-05-11 15:33:31 +02:00
Wim Taymans
163720246e decodebin2: fix compilation 2012-05-11 09:26:47 +02:00
Thibault Saunier
445c41963b playback: Check type when setting "connection-speed" on unknown elements
Clamp the values if needed
2012-05-10 13:21:04 -04:00
Thibault Saunier
ee4ae0041c decodebin2: Add a connection-speed property to set it on demuxers when needed
Proxy it from uridecodebin
2012-05-10 13:11:47 -04:00
Sebastian Dröge
cc717f1f62 playsink: Initialize variable to silence wrong compiler warning 2012-05-09 12:03:44 +02:00
Sebastian Dröge
d7371bc87c playsink: Port changes to 0.11 2012-05-09 10:30:55 +02:00
Mark Nauwelaerts
e623bea6fa playbin2: properly reconfigure upon subsequent no-more-pads
... such as during switch in chained ogg.
2012-05-09 10:28:35 +02:00
Sebastian Dröge
4e649b5bff videotestsrc: Update for basesrc API changes 2012-05-01 13:33:20 +02:00
Wim Taymans
7736044d45 playsink: make playsink reusable
The sinkpads are unblocked when going from PAUSED->READY, we need to block them
again when going READY->PAUSED. The blocking of the pad previously only happened
when it was freshly obtained with _request_pad or when the caps changed. If we
don't release the pad when going to READY it was previously never blocked again
causing not-linked errors.
2012-05-01 12:19:11 +02:00
Wim Taymans
f21b7437e7 playsink: don't leak the colorbalance element 2012-05-01 12:09:31 +02:00
Tim-Philipp Müller
0bd4e5d1e1 typefinding: more fine-grained matroska/webm typefinding
Typefind to audio/x-matroska, video/x-matroska, audio/webm,
video/webm and video/x-matroska-3d.

http://www.webmproject.org/code/specs/container/#naming
http://matroska.org/technical/specs/notes.html
2012-04-28 15:51:03 +01:00
Mark Nauwelaerts
9ea22283d0 gdppay: plug buffer leak 2012-04-25 22:28:44 +02:00
Mark Nauwelaerts
56602aa8fc tcpclientsink: ensure proper cleanup upon startup error 2012-04-24 17:15:23 +02:00
Sebastian Dröge
ecb7156822 subparse: Allow newlines/whitespace at the beginning of subrip files
For example the Sintel subtitles have this and without this change
they're detected as text/plain and not usable as subtitles. The
parser itself already handles this just fine.
2012-04-24 10:16:45 +02:00
Sebastian Dröge
c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Mark Nauwelaerts
a008aa0b46 collectpads2: rename to collectpads 2012-04-17 15:09:58 +02:00
Mark Nauwelaerts
b1a90e43c8 adder: correctly adjust to modified collectpads2 event handling 2012-04-17 13:50:29 +02:00
Akihiro Tsukada
94beeb713a playbin2: Don't hold the playbin lock in the autoplug-continue callback
It's not necessary there as the group lock already protects everything
we access here and causes deadlocks in some cases.

Fixes bug #673708.
2012-04-17 09:57:17 +02:00
Mark Nauwelaerts
1f995a1c7e adder: chain up to collectpads event handler 2012-04-16 16:30:38 +02:00
Matej Knopp
b6765417e1 decodebin: Do not block on sticky and oob events 2012-04-16 13:49:07 +02:00
Sebastian Dröge
fe9041bd05 decodebin2: Check that properties have the correct type before using them 2012-04-16 08:27:20 +02:00
Sebastian Dröge
15d92392b5 uridecodebin: Check that properties have the correct type before using them 2012-04-16 08:27:09 +02:00
Tim-Philipp Müller
497d87061d typefinding: more fine-grained ogg typefinding
Typefind to audio/ogg, video/ogg, etc. Also change
application/x-annodex to application/annodex.

See http://wiki.xiph.org/MIME_Types_and_File_Extensions
2012-04-15 22:38:10 +01:00
Julian Scheel
fd4c8d9252 uridecodebin: Never treat live sources as streaming sources.
For streaming sources a queue is added before the demuxer, which can not be
properly filled by live sources. As http source can be live sources, this
caused issues for example with http live sources.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057
2012-04-14 10:52:26 +02:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Mark Nauwelaerts
62cc0cade7 tcp: update property documentation to reference correct property 2012-04-11 21:45:46 +02:00
Tim-Philipp Müller
3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge
ec2e470ecc playback: Remove gstdecodebin.c, which is nowaday unused anyway 2012-04-06 10:54:42 +02:00
Sebastian Dröge
ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
0ad7fe0590 encodebin: release additional obtained caps reference 2012-04-04 19:57:27 +02:00
Thiago Santos
6eee006e82 Merge branch '0.10' 2012-04-04 13:56:17 -03:00
Thiago Santos
4b349306b0 playbin2: Use new playsink send-event-mode property
Set playsink's send-event-mode to MODE_FIRST as playbin2 only
needs one event going to the demuxer for its operation

https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Thiago Santos
84abbe0d52 playsink: add send-event-mode property
Adds a property for playsink to define how it should handle
events sent in send_event function. The default is the same as
GstBin's, sending events to all internal sinks. There is also
mode-first, that will send to sinks until the one handles the
event successfully.

https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Mark Nauwelaerts
481b1beece adder: event handling and leak fixes 2012-04-03 18:31:24 +02:00
Mark Nauwelaerts
6656affdfa videoconvert: plug caps leak 2012-04-02 17:03:48 +02:00
Raimo Järvi
086bee8c14 tcp: Fix compiling with mingw
https://bugzilla.gnome.org/show_bug.cgi?id=673056
2012-04-02 11:26:45 +02:00
Wim Taymans
b52c035f13 audioconvert: remove useless transform_ip function 2012-04-02 11:21:26 +02:00
Wim Taymans
bf908a385b volume: use transform_ip_on_passthrough 2012-04-02 11:11:33 +02:00
Wim Taymans
9ef519d99a Improve buffer allocation of wrapped memory 2012-04-01 18:11:23 +02:00
Wim Taymans
345dc31f20 update for buffer api change 2012-03-30 18:15:30 +02:00
Mark Nauwelaerts
aaf84a941e audioconvert: plug caps leak 2012-03-30 16:56:40 +02:00
Edward Hervey
05a778b1c4 typefind: Use unchecked byte reader methods where possible
The size is checked before, so we can use them.
2012-03-30 12:04:15 +02:00
Sebastian Dröge
9e13d70b2c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst-libs/gst/video/video-overlay-composition.c
	tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Wim Taymans
69298c5534 update for buffer changes 2012-03-28 12:53:01 +02:00
Sebastian Dröge
4872c7bf75 playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink 2012-03-23 11:07:49 +01:00
Wim Taymans
1982d1ce12 Release 0.11.3 2012-03-22 15:51:39 +01:00
Wim Taymans
32bd12dba9 Merge branch 'master' into 0.11
Conflicts:
	.gitignore
	common
	configure.ac
	ext/vorbis/gstvorbisdeclib.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/riff/riff-read.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans
dd819ddc6b orc: avoid precompilation
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +01:00
Wim Taymans
e13a7c76a7 videotestsrc: fix decide_allocation
We want to propose a videopool even if downstream didn't provide one.
2012-03-16 20:22:19 +01:00
Wim Taymans
7c0e2b5b1e update for allocation query changes 2012-03-15 20:36:51 +01:00
Vincent Penquerc'h
73605cb33d playsink: send navigation event to the sink as a fallback
When the video sink is a fakesink, which does not implement the
navigation interface, playsink will drop the navigation command.
In this case, send to the video sink as a fallback. It breaks
the interface abstraction, but is better than just dropping the
navigation event.
2012-03-15 13:02:34 +00:00
Wim Taymans
df5253b22c update for memory api changes 2012-03-15 13:32:08 +01:00
Wim Taymans
39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Mark Nauwelaerts
9fc640b9e0 playsink: remove circular ref between bin and internal pad
... by not assigning an additional ref to an async blocked callback,
which should not be called anyway by the time the object is gone.

Fixes #672006.
2012-03-14 17:32:10 +01:00
Mark Nauwelaerts
d13e1b49f6 playsink: provide fresh copy for gst_caps_merge
... since it is documented to modify provided caps.
2012-03-13 15:28:00 +01:00
Wim Taymans
9d8db57eb0 videotestsrc: don't leak the bufferpool 2012-03-12 19:51:21 +01:00
Wim Taymans
25137962ad fix for caps API changes 2012-03-11 19:04:41 +01:00
Mark Nauwelaerts
8c99412a0d playbin2: do not take a superfluous ref on uridecodebin instances
... which are no longer FLOATING.
2012-03-09 14:19:41 +01:00
Mark Nauwelaerts
5fee17ac8f uridecodebin: restore FLOATING flag when reusing decodebin instance
... which avoids leaking these due to an extra ref later on.
2012-03-09 14:19:14 +01:00
Tim-Philipp Müller
29c266ccff Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	docs/libs/gst-plugins-base-libs.types
	ext/pango/gsttextoverlay.c
	ext/vorbis/gstvorbisdec.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	sys/ximage/ximagesink.c
	sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts
b2a162ca77 playsink: audio convert bin need not be unconditionally present
... so avoid NULL manipulation when setting up chain again
(e.g. after having partially gone down to READY in native audio flag
configuration).
2012-03-08 17:58:17 +01:00
Mark Nauwelaerts
5462536a36 playsink: plug element leak 2012-03-08 15:35:46 +01:00
Wim Taymans
37541750d2 videoscale: fix broken format filter
Simply intersect the format with the supported formats to make the code deal
with lists of formats.
2012-03-08 10:22:49 +01:00
Sebastian Dröge
15091ad124 playsink: Chain up to the parent's GstBin::handle_message() for non-prepare-xoverlay element messages 2012-03-05 15:24:20 +01:00
Wim Taymans
d8f698fe20 x-raw-bayer -> x-bayer
Rename x-raw-bayer to x-bayer. We might want to merge this with x-raw eventually
but for now keep the x-raw namespace clean.
2012-03-05 12:42:27 +01:00
Wim Taymans
abca785f0f videoconvert: use base class new vmethods
Use the base class filter_meta to proxy all metadata upstream.
Use the base class transform_meta to let it copy all non-colorspace dependent
metadata.
2012-03-02 17:35:40 +01:00
Wim Taymans
5595c0a7df videoconvert: remove old metadata code
The subclass can help us better
2012-03-02 17:12:25 +01:00
Wim Taymans
df004b586e videoconvert: update for copy data changes 2012-03-02 13:11:36 +01:00
Wim Taymans
9a21eda38c videoscale: remove old caps fields 2012-03-02 13:11:36 +01:00
Sebastian Dröge
a80c82cd80 playback: Link to libgstinterfaces too for the navigation interface 2012-03-02 11:31:23 +01:00
Sebastian Dröge
006f8f8275 gst: Update for gstmarshal.[ch] removal 2012-03-02 11:15:02 +01:00
Sebastian Dröge
84a02f9f13 Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11 2012-03-02 10:13:52 +01:00
Sebastian Dröge
1cbcb9281c mixer/colorbalance: Update for API changes 2012-03-02 10:00:59 +01:00
Sebastian Dröge
f7939bb43f Merge branch 'master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gst-plugins-base-plugins.args
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/inspect/plugin-adder.xml
	docs/plugins/inspect/plugin-alsa.xml
	docs/plugins/inspect/plugin-app.xml
	docs/plugins/inspect/plugin-audioconvert.xml
	docs/plugins/inspect/plugin-audiorate.xml
	docs/plugins/inspect/plugin-audioresample.xml
	docs/plugins/inspect/plugin-audiotestsrc.xml
	docs/plugins/inspect/plugin-cdparanoia.xml
	docs/plugins/inspect/plugin-encoding.xml
	docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	docs/plugins/inspect/plugin-gdp.xml
	docs/plugins/inspect/plugin-gio.xml
	docs/plugins/inspect/plugin-gnomevfs.xml
	docs/plugins/inspect/plugin-libvisual.xml
	docs/plugins/inspect/plugin-ogg.xml
	docs/plugins/inspect/plugin-pango.xml
	docs/plugins/inspect/plugin-playback.xml
	docs/plugins/inspect/plugin-subparse.xml
	docs/plugins/inspect/plugin-tcp.xml
	docs/plugins/inspect/plugin-theora.xml
	docs/plugins/inspect/plugin-typefindfunctions.xml
	docs/plugins/inspect/plugin-uridecodebin.xml
	docs/plugins/inspect/plugin-videorate.xml
	docs/plugins/inspect/plugin-videoscale.xml
	docs/plugins/inspect/plugin-videotestsrc.xml
	docs/plugins/inspect/plugin-volume.xml
	docs/plugins/inspect/plugin-vorbis.xml
	docs/plugins/inspect/plugin-ximagesink.xml
	docs/plugins/inspect/plugin-xvimagesink.xml
	gst-libs/gst/app/gstappsink.c
	gst-libs/gst/audio/mixer.c
	gst-libs/gst/audio/mixer.h
	gst-libs/gst/tag/gstxmptag.c
	gst-libs/gst/video/colorbalance.c
	gst-libs/gst/video/colorbalance.h
	gst/adder/gstadder.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/videoscale/gstvideoscale.c
	tests/check/elements/videoscale.c
	tests/examples/seek/seek.c
	tests/examples/v4l/probe.c
	win32/common/_stdint.h
	win32/common/audio-enumtypes.c
	win32/common/config.h
2012-03-02 10:00:55 +01:00