Commit graph

20703 commits

Author SHA1 Message Date
Danilo Cesar Lemes de Paula
3a978f5a69 Adding opus RTP payloader/depayloader element
Adding OPUS RTP module based on the current draft:
http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt

https://bugzilla.gnome.org/show_bug.cgi?id=664817
2011-12-09 15:05:42 +00:00
Vincent Penquerc'h
dbca14b23b opus: include streams count in caps
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-09 15:04:20 +00:00
Vincent Penquerc'h
f807905786 opus: properly create channel mapping tables
There are two of them, unintuitively enough; the one passed
to the encoder should not be the one that gets written to the
file. The former maps the input to an ordering which puts
paired channels first, while the latter moves the channels
to Vorbis order. So add code to calculate both, and we now
have properly paired channels where appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-09 15:04:20 +00:00
Tim-Philipp Müller
54c5cd8c3f rtpbuffer: add GST_RTP_BUFFER_INIT to initialize RTP buffers on the stack
Fixes build of -good.
2011-12-09 15:03:41 +00:00
Tim-Philipp Müller
b950b930ae Merge remote-tracking branch 'origin/master' into 0.11 2011-12-09 12:08:37 +00:00
Tim-Philipp Müller
debe9caa36 typefindfunctions: only typefind text with a BOM as text/utf16 or text/utf32
We added the utf typefinder because the mp3 typefinder was a tad
overzealous when it came to typefinding things as mp3, and replaced
it with even more overzealous utf16/32 typefinders.

Fixes unit test.
2011-12-09 01:33:58 +00:00
Tim-Philipp Müller
e286db3ce6 Revert "tests: fix audiocdsrc for changed preroll behaviour"
This reverts commit 2c9d442d51.

Behaviour changed again, so revert this.
2011-12-08 01:21:18 +00: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
Tim-Philipp Müller
91bbfbd819 video: make composition_blend() return a boolean
Not that anyone will ever check that, and it's not clear what
they're supposed to do if it fails, but at least it's there.
2011-12-07 18:45:28 +00:00
Tim-Philipp Müller
6757afc0bc docs: add new API to docs 2011-12-07 18:38:06 +00:00
Tim-Philipp Müller
5037b39883 video: add seqnum getters for overlay compositions and rectangles
API: gst_video_overlay_composition_get_seqnum()
API: gst_video_overlay_rectangle_get_seqnum()
2011-12-07 17:57:08 +00:00
Thibault Saunier
39c5015ed0 video: support any type of video in _parse_caps
Slight change in semantics for convenience. Shouldn't cause any
problems since this function is usually only used on pre-filtered
caps and not random caps, and it's hard to imagine a situation
where someone would want to rely on the previous behaviour.
2011-12-07 15:51:14 +00:00
Olivier Crête
16bb45d64a opusdec: header cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 14:03:02 +00:00
Olivier Crête
b7d53c866b opusdec: Truncate caps first
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 14:03:00 +00:00
Vincent Penquerc'h
f6ebc2de8e opusdec: default to stereo 48000 Hz if possible when no headers seen
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 13:57:38 +00:00
Tim-Philipp Müller
99c7a51908 videorate: don't leak previous buffer when shutting down
Implement stop vfunc after port to basetransform, so we
can clean up properly. Fixes make elements/videorate.valgrind
2011-12-06 21:57:32 +00:00
Tim-Philipp Müller
b58b8b1ba5 tests: fix calculation of last pixel offset in video unit test
And check the right buffer (pix2) in one case.
2011-12-06 20:31:54 +00:00
Tim-Philipp Müller
d59648a47f examples: fix build of fft example
Should link against our own libgstfft-0.10.
2011-12-06 15:01:05 +00:00
Tim-Philipp Müller
61d0ab1faa video: fix leak in gst_video_format_new_template_caps()
g_value_reset() is not the same as g_value_unset()
2011-12-06 14:55:54 +00:00
Wim Taymans
f096b8a8d8 ringbuffer: remove old _full version 2011-12-06 15:06:12 +01:00
Wim Taymans
9e97260c9f fix for basesrc changes 2011-12-06 13:59:11 +01: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
Stefan Sauer
43aa0a8aca controller: port to GstValueArray removal API change 2011-12-06 08:37:32 +01:00
Wim Taymans
b53c02417c Revert "videoconvert: We can handle GST_VIDEO_META_API"
This reverts commit bd539753eb.

Adding the supported metadata to the query does nothing at this stage. Proposing
allocation parameters and supported metadata for upstream should use the
propose_allocation vmethod.
2011-12-05 20:33:41 +01:00
Edward Hervey
ea0ed511f8 rtp: Initialize GstRTPBuffer before usage 2011-12-05 18:42:24 +01:00
Edward Hervey
bd539753eb videoconvert: We can handle GST_VIDEO_META_API 2011-12-05 18:30:50 +01:00
Edward Hervey
94230af7a3 rtp: Don't forget to initialize GstRTPBuffer 2011-12-05 18:30:37 +01:00
Tim-Philipp Müller
7d20a7bdb9 video: don't use deprecated GStaticMutex with newer glib versions 2011-12-05 15:48:07 +00:00
Tim-Philipp Müller
8b8dd06de4 examples: dist fft sub-directory 2011-12-05 15:37:04 +00:00
Thibault Saunier
785e006de9 textoverlay: unpremultiply text image
The GstVideoOverlayComposition only supports unpremultiplied ARGB
(for now anyway, support for pre-multiplied alpha is planned.)
2011-12-05 15:37:04 +00:00
Thibault Saunier
cbcf1e0b46 textoverlay: Attach OverlayComposition to buffers when needed
Add video/x-surface support in the caps
We should then attach it whenever the sink supports it, but this
is working for the time being
2011-12-05 15:37:04 +00:00
Thibault Saunier
2a687b6dfb textoverlay: Make the text_image data a buffer
This way we won't free data that would be attached to some buffer.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a741c0cf11 textoverlay: Sync the caps with the new supported formats
Thanks to the use of the new video composition library, we gain support to
more colospaces and formats, let's state it.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a018c187a0 textoverlay: Make use of the new video blending utility 2011-12-05 15:37:03 +00:00
Tim-Philipp Müller
00d6ffd9f5 tests: add basic unit test for video overlay composition and rectangles 2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
6630236af4 video: add video overlay composition API for subtitles
Basic API to attach overlay rectangles to buffers,
or blend them directly onto raw video buffers.

To be used primarily for things like subtitles or
logo overlays, not meant to replace videomixer.

Allows us to associate subtitle overlays with
non-raw video surface buffers, so that subtitles
are not lost and can instead be rendered later
when those surfaces are displayed or converted,
whilst re-using all the existing overlay plugins
and not having to teach them about our special
video surfaces. Could also have been made part
of the surface buffer abstraction of course, but
a secondary goal was to consolidate the blending
code for raw video into libgstvideo, and this
kind of API allows us to do both in a way that's
minimally invasive to existing elements, and at
the same time is fairly intuitive.

More features and extensions like the ability to
pass the source data or text/markup directly will
be added later.

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

API: gst_video_buffer_get_overlay_composition()
API: gst_video_buffer_set_overlay_composition()

API: gst_video_overlay_composition_new()
API: gst_video_overlay_composition_add_rectangle()
API: gst_video_overlay_composition_n_rectangles()
API: gst_video_overlay_composition_get_rectangle()
API: gst_video_overlay_composition_make_writable()
API: gst_video_overlay_composition_copy()
API: gst_video_overlay_composition_ref()
API: gst_video_overlay_composition_unref()

API: gst_video_overlay_composition_blend()

API: gst_video_overlay_rectangle_new_argb()
API: gst_video_overlay_rectangle_get_pixels_argb()
API: gst_video_overlay_rectangle_get_pixels_unscaled_argb()
API: gst_video_overlay_rectangle_get_render_rectangle()
API: gst_video_overlay_rectangle_set_render_rectangle()
API: gst_video_overlay_rectangle_copy()
API: gst_video_overlay_rectangle_ref()
API: gst_video_overlay_rectangle_unref()
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
a7a3f969b3 video: hide private video-blend.[ch] from gobject-introspection
And remove unused fields from helper structure.
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
b0ff1d22e9 video: add fallbacks for compilation without orc 2011-12-05 15:36:56 +00:00
Thibault Saunier
80054a3b1e video: add some internal helper functions for image blending
This could be improved if we decide we don't need it to
be this generic/flexible.
2011-12-05 15:03:47 +00:00
Sebastian Dröge
b0f4085f22 xoverlay: Fix mistakes in the sample code
Fixes bug #665430.
2011-12-05 09:39:08 +01:00
Matej Knopp
f89d7ee7eb Appsink fixes 2011-12-05 09:34:50 +01:00
Tim-Philipp Müller
5440ae3c18 Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
4828234639 alsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions 2011-12-04 20:38:19 +00:00
Tim-Philipp Müller
9c307bccc5 alsamixer: embed static mutexes into the mixer structure
instead of allocating them dynamically
2011-12-04 20:21:26 +00:00
Tim-Philipp Müller
ff6cc8af82 tools, tests: g_thread_init() is deprecated in glib master
It's not needed any longer.
2011-12-04 17:16:36 +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
Tim-Philipp Müller
6098442bd0 xmpwriter: update for thread API deprecations in glib master 2011-12-04 15:23:21 +00:00
Stefan Sauer
5398950012 fft-example: re-add Makefile.am 2011-12-04 13:43:06 +01:00
Stefan Sauer
f4213c5e85 configure: trim trailing whitespace 2011-12-02 23:35:50 +01:00
Stefan Sauer
3fb41e2cc3 tests: add a test for fft result value-ranges
Add a small example that uses ffts of various types and parameters and check the
result value ranges.
2011-12-02 23:34:47 +01:00