Commit graph

116 commits

Author SHA1 Message Date
Wim Taymans
db4d5af9b6 subtitle: don't use GST_CAPS_NONE macro
This macro returns a singleton.
2011-12-20 12:53:16 +01:00
Sebastian Dröge
cd11d68716 subtitleoverlay: Refactor code to check if a property exists on an element 2011-12-13 13:31:03 +01:00
Sebastian Dröge
87a4cbd0e3 subtitleoverlay: Refactor autoplugging code and select overlay element by rank too
Previously we always used textoverlay for rendering the output of
a parser, now the same code as for the renderers is used and the
element with the highest rank is used.

Fixes bug #663822.
2011-12-13 13:31:03 +01:00
Tim-Philipp Müller
fb6d09055a Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsadeviceprobe.c
	ext/alsa/gstalsamixer.c
	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
	gst-libs/gst/audio/gstaudiobasesink.c
	gst-libs/gst/audio/gstaudioringbuffer.c
	gst-libs/gst/audio/gstaudiosrc.c
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst/encoding/gststreamcombiner.c
	gst/encoding/gststreamsplitter.c
	gst/playback/gstplaybasebin.c
	gst/playback/gststreamsynchronizer.c
	gst/playback/gstsubtitleoverlay.c
	gst/playback/gsturidecodebin.c
	sys/xvimage/xvimagesink.c
	tests/examples/Makefile.am
	win32/common/libgstvideo.def

Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Thibault Saunier
8728023f00 subtitleoverlay: add suport for hardware accelerated videos
Don't plug converters for non-raw video.
2011-12-06 12:44:24 +00:00
Tim-Philipp Müller
0d98aa25b8 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Wim Taymans
e302833e65 add parent to pad functions 2011-11-17 12:48:25 +01:00
Wim Taymans
2202511e77 add parent to query function 2011-11-16 17:25:17 +01:00
Wim Taymans
28157e6f21 _query_peer_*() -> _peer_query_*() 2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2 update for _get_caps() -> _query_caps() 2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5 change getcaps to query
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Wim Taymans
f2ab0b8f19 upates for new ACCEPT_CAPS query 2011-11-09 17:37:31 +01:00
Wim Taymans
308f6301a8 update for pad probe api changes 2011-11-08 11:08:21 +01:00
Wim Taymans
616e9b706e fix for new pad probe types
Restore the previous behaviour by only blocking downstream items and not
upstream events.
2011-11-07 17:10:48 +01:00
Wim Taymans
7ac25e9b26 Merge branch 'master' into 0.11
Conflicts:
	common
	configure.ac
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst/playback/gstdecodebin2.c
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkaudioconvert.h
	gst/playback/gstplaysinkvideoconvert.c
	gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Sebastian Dröge
7875ee11a5 subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
This keeps the caps order and is more efficient.
2011-11-04 10:38:39 +01:00
Tim-Philipp Müller
b52c5819fb Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:34:28 +00:00
Tim-Philipp Müller
edc7b45dc6 subtitleoverlay: don't include header that's been removed 2011-10-31 14:26:09 +00:00
Tim-Philipp Müller
d06ad8e95e Merge remote-tracking branch 'origin/master' into 0.11 2011-10-31 14:22:58 +00:00
Tim-Philipp Müller
b6c424018b subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run() 2011-10-30 20:00:47 +00:00
Wim Taymans
016d036137 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst/audioconvert/channelmixtest.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstsubtitleoverlay.c
	tests/examples/Makefile.am
	tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
René Stadler
6ffaccd284 subtitleoverlay: fix leaks of pad templates and internal proxy pads 2011-10-19 19:47:38 +02:00
René Stadler
56419cce77 subtitleoverlay: fix leak of element reference through pad block
If the pad block never happens because there is no data flow at all, the
callback is never fired and the reference is never released. This causes a
reference cycle between the pad and element, so valgrind is not very vocal
about it (memory is still reachable).
2011-10-19 19:47:38 +02:00
René Stadler
becba526d9 subtitleoverlay: fix event unref in (rare) error case 2011-10-18 13:02:43 +02:00
Wim Taymans
bf57108e6a Revert "sbutitleoverlay: fix compiler warning"
This reverts commit ed792293e7.

Not needed anymore because of another commit
2011-09-30 11:45:51 +02:00
Wim Taymans
ed792293e7 sbutitleoverlay: fix compiler warning 2011-09-30 11:04:19 +02:00
Tim-Philipp Müller
4b43972cf4 subitleoverlay: fix compiler warning
gstsubtitleoverlay.c: In function 'gst_subtitle_overlay_video_sink_event':
gstsubtitleoverlay.c:1736:22: error: 'target' may be used uninitialized in this function
2011-09-29 21:30:52 +01:00
Edward Hervey
17bfba09f1 Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggdemux.c
	ext/pango/gsttextoverlay.c
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudiosrc.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Sebastian Dröge
01d37532b6 subtitleoverlay: Get the target of the video sinkpad, not the target sinkpad in the video setcaps handler 2011-09-19 14:02:00 +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
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
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
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
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
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
e904c529e3 fix for _negotiated_caps() change 2011-08-15 12:18:15 +02:00
Wim Taymans
d700111396 some more ffmpegcolorspace to videoconvert changes 2011-06-15 18:08:32 +02:00
Tim-Philipp Müller
b5ef8efa1a decodebin2: rename decodebin2 to decodebin
But don't rename source file for now, which hopefully
makes merging from master easier.
2011-06-14 23:53:38 +01:00
Wim Taymans
f565812e25 playback: changes for message API changes 2011-06-08 13:45:41 +02:00
Wim Taymans
5f271d64a6 playback: fix compilation after ghostpad setcaps removal 2011-06-03 13:12:31 +02:00
Wim Taymans
f91c753959 probes: port to new API for blocking and probes 2011-06-01 19:34:54 +02:00
Wim Taymans
c7428aeaae playbin: fixed for new pad block API 2011-05-30 18:36:14 +02:00
Wim Taymans
8501753033 -base: change for changed set_blocked API 2011-05-26 16:18:16 +02:00
Sebastian Dröge
884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Sebastian Dröge
d0362c2b87 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/alsa/gstalsasrc.c
	gst-libs/gst/audio/gstbaseaudiosink.c
	gst-libs/gst/tag/gstxmptag.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
616181901e playback: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Wim Taymans
94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Sebastian Dröge
45bf51dcdf subtitleoverlay: Use new, public ghostpad functions 2011-05-14 11:42:32 +02:00
Wim Taymans
5dbc49ccf7 event: don't access the event structure
the event structure is now hidden, so don't access it directly.
2011-05-10 11:54:30 +02:00
Wim Taymans
816f4e791d segment: fix for new core API
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Sebastian Dröge
6512a6c73d subtitleoverlay: Update for new GstIterator API 2011-05-05 18:47:58 +02:00
Wim Taymans
86a4771f8e remove buffer_alloc 2011-04-29 13:28:17 +02:00
Sebastian Dröge
f10a8f0986 gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:35:53 +02:00
Sebastian Dröge
ff21fe1d25 playbin2, playsink, subtitleoverlay: Set subtitle encoding properly
For this add subtitle encoding properties to playsink and subtitleoverlay
and update the values in the containing elements.

Also update the font description in textoverlay or the used renderer
element if it is changed during playback.

Fixes bug #610310.
2010-02-22 20:47:34 +01:00
Julien Moutte
d6108b8fad subtitleoverlay: relax caps template on sink pads
Allow any caps on sink pad templates as we could do passthrough with non raw
video caps.
2010-01-25 18:57:52 +01:00
Sebastian Dröge
732f3055a3 subtitleoverlay: Fix some pad refcount issues
Fixes bug #603345.
2009-11-30 10:22:54 +01:00
Sebastian Dröge
cdc5fc2c66 subtitleoverlay: Handle errors from subtitle elements as warning and go into passthrough mode 2009-11-14 14:08:40 +01:00
Sebastian Dröge
7827660dcd subtitleoverlay: Only recreate factory caps if necessary and cache them 2009-11-12 13:20:42 +01:00
Sebastian Dröge
068aecc389 subtitleoverlay: Only update the factory list when the registry has changed
Also don't free the list every time we go to NULL.
2009-11-12 13:20:42 +01:00
Sebastian Dröge
6980503927 subtitleoverlay: Use gst_pad_get_caps_reffed() 2009-11-12 13:20:41 +01:00
Sebastian Dröge
af3d16dbb1 subtitleoverlay: Update segments after pushing the events downstream
This makes sure that we don't apply segments twice downstream. Also
always send our newsegment events downstream.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
e869b57296 subtitleoverlay: Add silent property to disable subtitles
This tries to disable subtitles in the overlay or renderer
and if that's not possible it goes into passthrough mode.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
eb2d207811 subtitleoverlay: Set the video framerate on parsers if possible
Fixes bug #599649.
2009-11-12 13:20:41 +01:00
Sebastian Dröge
92ccb87850 subtitleoverlay: Add new element for generic subtitle overlaying
This autopluggs the required elements for parsing and rendering
different subtitle formats on a video stream.

Fixes bug #600370.
2009-11-12 13:20:40 +01:00