Commit graph

3450 commits

Author SHA1 Message Date
Tim-Philipp Müller
0461ed2ada Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/pbutils/gstdiscoverer-types.c
	gst-libs/gst/pbutils/gstdiscoverer.c
	tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h
ab7e72ad70 discoverer: fix structure leak
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
2012-01-12 14:27:25 +00:00
Reynaldo H. Verdejo Pinochet
1a8ee4536c Add missing DEFAULT_INCLUDES on androgenizer call
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am

Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
2012-01-11 21:04:40 -03:00
Vincent Penquerc'h
426f991b52 discoverer: fix leaks caused by some base class dtors not being called 2012-01-11 12:52:17 +00:00
Vincent Penquerc'h
96e40584ce discoverer: fix caps and discoverer object ref leaks 2012-01-11 12:16:28 +00:00
Vincent Penquerc'h
9ab18d7a68 discoverer: add a few consts where appropriate 2012-01-11 11:55:59 +00:00
Vincent Penquerc'h
7ad6431837 discoverer: fix pad leak 2012-01-11 11:55:36 +00:00
Sebastian Dröge
de19cfdd8a audio: More UNPOSITION flag sanity checks
..and turn the GST_WARNING() into a g_warning(). This is a programming
error and should be fixed.
2012-01-11 10:49:49 +01:00
Sebastian Dröge
a03f70e3cd audio: Add validity check for the UNPOSITIONED audio flag
Also reset the flag when parsing caps.
2012-01-11 10:44:37 +01:00
Tim-Philipp Müller
b155e094ed discoverer: use GST_TYPE_TAG_LIST for tag lists
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller
5f20af6ce5 discoverer: fix potential tag list leaks
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller
b794f78d26 discoverer: fix potential caps leak
in last else chunk.
2012-01-10 18:29:21 +00:00
Sebastian Dröge
dc8984d76c Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/app/gstappsrc.c
	gst-libs/gst/audio/multichannel.h
	gst-libs/gst/video/videooverlay.c
	gst/playback/gstplaysink.c
	gst/playback/gststreamsynchronizer.c
	tests/check/Makefile.am
	win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Sebastian Dröge
05beab5382 audiometa: Improve GstAudioDownmixMeta to be actually usable
This now has a two-dimensional array of coefficients
as required and also stores the source and destination
channel positions.
2012-01-10 12:46:05 +01:00
Sebastian Dröge
67c8b0dfbd audio: Don't crash if NULL positions are passed to gst_audio_info_set_format() 2012-01-10 12:02:56 +01:00
Sebastian Dröge
5cb3d75dbf audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc 2012-01-09 14:19:54 +01:00
Sebastian Dröge
bb3eb93ee9 audio: Don't check for channel positions in valid order when converting to a channel mask 2012-01-09 08:24:23 +01:00
Tim-Philipp Müller
9f042ae224 rtspconnection: make hostname lookup more thread-safe
Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).

https://bugzilla.gnome.org/show_bug.cgi?id=666711
2012-01-07 20:16:41 +00:00
Tim-Philipp Müller
1031fedaf0 discoverer: make is_subtitle_caps thread-safe 2012-01-07 19:39:42 +00:00
Edward Hervey
82da418201 audio: Fix size check
We fail (and return) if the size is *NOT* a multiple of samples.
2012-01-06 15:14:59 +01:00
Vincent Penquerc'h
5cf87eedc4 video: overlays may now have premultiplied alpha
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Havard Graff
95be60de15 Fix various unlikely, but still potential memoryleaks in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Havard Graff
b11d516c46 appsrc: implement get_caps vfunc
This allows downstream elements to query what caps are available.

https://bugzilla.gnome.org/show_bug.cgi?id=667312
2012-01-05 13:12:33 +00:00
Wim Taymans
dd43d0697e audio: expose API to convert channel array to a mask 2012-01-05 13:59:32 +01:00
Wim Taymans
1317811af6 riff: don't use NULL arrays 2012-01-05 12:31:51 +01:00
Pascal Buhler
0febae7443 rtcpbuffer: prevent overflow of 16bit header length.
RTCP header can be  (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.

https://bugzilla.gnome.org/show_bug.cgi?id=667313
2012-01-05 11:12:25 +00:00
Sebastian Dröge
9e072ea844 audio: Improve/fix handling of NONE layouts 2012-01-05 10:34:25 +01:00
Sebastian Dröge
8dcea5d498 audio: Add support again for more than 64 channels with NONE layouts 2012-01-05 10:34:25 +01:00
Sebastian Dröge
31c9f7d09a audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro 2012-01-05 10:34:25 +01:00
Sebastian Dröge
c52b50a517 riff: Return a channel reorder map for raw audio when creating the caps 2012-01-05 10:34:25 +01:00
Sebastian Dröge
7cd0659032 riff: Add the layout field to the raw audio caps 2012-01-05 10:34:24 +01:00
Sebastian Dröge
9d56bf7712 audioencoder: Proxy the channel mask field instead of the old channel-layout field 2012-01-05 10:34:24 +01:00
Sebastian Dröge
8fe5dc53e0 audiocdsrc: Add the layout field to the caps 2012-01-05 10:34:24 +01:00
Sebastian Dröge
810bfec656 audio: Add "layout" field to the raw audio caps
This can be used to differentiate between interleaved
and non-interleaved audio and whatever comes in the future.
2012-01-05 10:34:24 +01:00
Sebastian Dröge
e2c6b8ec4d audio: Add function to reorder channel positions from any order to the GStreamer order 2012-01-05 10:34:24 +01:00
Sebastian Dröge
bd40936409 audioringbuffer: Use new function to get a channel reordering map 2012-01-05 10:34:24 +01:00
Sebastian Dröge
9e930a1ade audio: Add documentation for the new functions 2012-01-05 10:34:24 +01:00
Sebastian Dröge
c9c12372a5 audio: Add public functions to check channel positions validity and to get a reorder map 2012-01-05 10:34:24 +01:00
Sebastian Dröge
ee80a97a2a riff: Port to the new multichannel caps 2012-01-05 10:34:24 +01:00
Sebastian Dröge
225238a913 audioringbuffer: Add support for reordering of channels 2012-01-05 10:34:16 +01:00
Sebastian Dröge
c227f5e77e audio: Add new channel positions and simplify channel expression in the caps
The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.

The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.

For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.

This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.
2012-01-05 10:27:21 +01:00
Philip Flarsheim
08af765ea2 docs: add win32 code snippets to GstXOverlay Gtk+ example 2012-01-05 01:54:29 +00:00
Wim Taymans
21ed12739e video: add macro to check interlaced
Add a convenience macro to check if the video is interlaced.
2012-01-03 10:41:51 +01:00
Wim Taymans
2f3cf3a7ee videofilter: use caps of the allocation query
Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
2012-01-02 16:13:51 +01:00
Wim Taymans
e9eaf17eae audioencoder: turn assert into a real error
Post a real error instead of just asserting. Fixes a unit test.
2012-01-02 15:42:39 +01:00
Tim-Philipp Müller
26e612aeda playback, mixerutils: gst_registry_get_default() -> gst_registry_get() 2012-01-02 14:32:11 +00:00
Wim Taymans
ed6fd4eb2f audio: add flag for unpositioned layout
Check if thr layout is explicitly unpositioned and set a flag in the
audio info structure.
2012-01-02 15:01:58 +01:00
Wim Taymans
21bf4f04f3 video: fix some video formats
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
2012-01-02 13:30:53 +01:00
Tim-Philipp Müller
76cc8b8f2a tag: add function to check whether a string is a valid language code
API: gst_tag_check_language_code()
2012-01-02 01:04:00 +00:00
Tim-Philipp Müller
c3e6e23b85 audio, rtsp: remove private/protected gtk-doc markup for enums
This confuses glib-mkenums, and is not really useful anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=666618
2012-01-02 00:19:57 +00:00
Tim-Philipp Müller
942fec2031 video: add some padding to GstVideoFilter 2011-12-30 19:27:16 +00:00
Tim-Philipp Müller
d877ef13f5 docs: make gtk-doc happier 2011-12-30 19:24:09 +00:00
Tim-Philipp Müller
62e5a67376 audiocdsrc: remove some probing-related vfuncs
GstPropertyProbe was removed, so these aren't actually used
and we probably want something different for the new API.
2011-12-30 16:26:47 +00:00
Tim-Philipp Müller
6a85353a92 audiocdsrc: update for GstIndex removal 2011-12-30 16:18:39 +00:00
Tim-Philipp Müller
31890ef59b audiocdsrc: make private bits private 2011-12-30 16:12:30 +00:00
Edward Hervey
f562a29284 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
	gst-libs/gst/tag/gstexiftag.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/playback/gstdecodebin2.c
	gst/playback/gstsubtitleoverlay.c
	tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Edward Hervey
5f7e15fd6c pbutils/descriptions: Handle "video/x-raw" without specified format
Without having it raise an assertion, which is valid when asking for
the description of the format.
2011-12-28 16:34:56 +01:00
Wim Taymans
8d93f8edb3 videopool: add support for custom allocators 2011-12-28 15:35:52 +01:00
Tim-Philipp Müller
3dfdd6be9d audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
Bit unwieldy, but more appropriate. Could also be moved into
audio.h as GstAudioFormatType.
2011-12-25 21:38:21 +00:00
Tim-Philipp Müller
80095caa40 audioringbuffer: remove unused GstAudioRingBufferSegState enum and field 2011-12-25 21:23:11 +00:00
Tim-Philipp Müller
dfa23662e1 tag: fix writing of Exif tag payloads <= 4 bytes
When the payload for an Exif tag is less than or equal to 4 bytes,
the data is simply put into the offset field. Fix writing these
kinds of payloads on big endian systems (and possibly also on
little endian systems). The caller will have already formatted
the bytes in memory according to the writer's endianness, so just
write out the bytes as they are in this case. Fixes tags unit test
on big endian systems.
2011-12-23 22:24:44 +00:00
Mark Nauwelaerts
e3c78ff661 audioencoder: add a few more debug statements 2011-12-22 16:58:37 +01:00
Mark Nauwelaerts
9bfa65b7d3 audiodecoder: tweak documentation 2011-12-22 16:58:34 +01:00
Thiago Santos
77353dad21 tag: xmp: Keep compatibility with our old generated xmp
We used to add a trailing \n to the end of generated xmp packets.
Windows viewer was unhappy with it and we fixed it in
96d2120c2b

The problem is that this caused xmp generated before this fix
to not be recognized and parsed anymore. This patch makes it
recognize xmp with the trailing \n and without, fixing the
regression. Also adds tests for it.
2011-12-22 08:12:28 -03:00
Wim Taymans
a5f3d21723 videofilter: improve video filter
Flesh out the video filter base class. Make it parse the input and output caps
and turn them into GstVideoInfo. Map buffers as video frames and pass them to
the transform functions.
This allows us to also implement the propose and decide_allocation vmethods.
Implement the transform size method as well.
Update subclasses with the new improvements.
2011-12-21 23:46:53 +01:00
Wim Taymans
f50573fd66 videopool: add videopool implementation
Add a GstVideoPool object that can be used to allocate video frames with support
for metadata and alignment.
Add method to reset alignment info.
2011-12-21 18:13:17 +01:00
Wim Taymans
ddc05e0ed1 propertyprobe: remove propertyprobe
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Vincent Penquerc'h
ceeff69bc1 gstvideo: fix a RGB ordering mixup in colorspace conversion code 2011-12-20 19:55:53 +00:00
Sebastian Dröge
2760dd2068 audiobasesrc: Use guint8 instead of guchar 2011-12-20 14:36:28 +01:00
Sebastian Dröge
338622fe7e audioringbuffer: Use guint8 instead of guchar 2011-12-20 14:36:28 +01:00
Mark Nauwelaerts
c41f3cbef0 audiodecoder: set a non-zero default maximum tolerated errors
Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one.  So, make it easy
on those and any future one and tolerate some errors by default, as intended.

Fixes #666579.
2011-12-20 12:50:18 +01:00
Wim Taymans
7505b7a55c add audio metadata
Add some audio metadata to describe a downmix matrix.
Add metadata to media type document.
2011-12-20 12:02:25 +01:00
Wim Taymans
6241ff63f8 video: update interlace caps and docs
Remove interlaced boolean from caps and replace with an interlace-mode enum.
document this new property in the video caps document. With the enum we can
put fields into separate video meta.
Add enum for this interlace-mode in the VideoInfo.
Update the buffer flags.
2011-12-19 18:03:45 +01:00
Wim Taymans
81d351b5f0 tagdemux: add FIXME
Add a FIXME because the EOS before-type case now has to be solved differently
because the srcpad is always available.
2011-12-19 11:03:55 +01:00
Thiago Santos
d798cc1b8d tag: exif: do not include \0 in size passed to g_convert
When using g_convert, we should only pass the length
of the string content (without the \0) as g_convert will
only parse the real contents when changing formats. Including
the \0 causes it to add another \0, increasing the string
size when not needed.

For example, when writting a North geo location ref entry, that should
be a string with a single N letter, it would write:
"N\0\0", causing the string to have size 3, instead of 2 as expected.

In our case, we can pass -1 and let g_convert calculate the strlen as
we don't use the length anywhere else.

This fixes jifmux's tests on gst-plugins-bad.
2011-12-15 12:08:51 -03:00
Christian Fredrik Kalager Schaller
0d552ae53d Fix 666168, add missing allow-None to encodebin APIs 2011-12-14 17:34:55 +00:00
Tim-Philipp Müller
d5ae24fe91 encoding-profile: add some missing allow-none g-i annotations
Fix gst_encoding_container_profile_new() annotations.

https://bugzilla.gnome.org/show_bug.cgi?id=666096
2011-12-14 12:28:26 +00:00
Stefan Sauer
d0a5cb8c01 riff-media: port GST_BUFFER_DATA to 0.11 in conditional code branch 2011-12-14 11:31:31 +01:00
Vincent Penquerc'h
12be1e6fc5 baseaudiosink: fix late buffer leak 2011-12-13 12:55:45 +00:00
Sebastian Dröge
739de5fbf9 glib-compat: Add license boilerplate for LGPL 2011-12-13 00:03:28 +00:00
Wim Taymans
59d5ad42b0 rtsp: use rtpbin 2011-12-09 19:22:21 +01:00
Wim Taymans
6be9a67148 rtp: add INIT macros 2011-12-09 19:22:21 +01: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
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
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
Edward Hervey
ea0ed511f8 rtp: Initialize GstRTPBuffer before usage 2011-12-05 18:42:24 +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
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
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
Wim Taymans
1225aa9a78 update for basesink event handler changes 2011-12-02 22:24:43 +01:00
Tim-Philipp Müller
177525f89f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/netbuffer/gstnetbuffer.c
	gst/ffmpegcolorspace/avcodec.h
	gst/ffmpegcolorspace/gstffmpegcodecmap.c
	gst/ffmpegcolorspace/imgconvert.c
	gst/ffmpegcolorspace/imgconvert_template.h
	gst/ffmpegcolorspace/mem.c
	gst/playback/README
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybasebin.h
	gst/playback/gstplaybin.c
	sys/v4l/v4lmjpegsrc_calls.c
	sys/v4l/videodev_mjpeg.h
	tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Tim-Philipp Müller
ec0d3566bf Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsasrc.c
	ext/alsa/gstalsasrc.h
	gst/adder/gstadder.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysinkconvertbin.c
	win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Wim Taymans
3deaa582d9 tags: make the tag functions return GstSample
gst_tag_image_data_to_image_buffer() ->
   gst_tag_image_data_to_image_sample() And make it return a GstSample.
Store the image-type into the extra sample info.
Remove a deprecated tag
2011-12-01 18:51:51 +01:00
Wim Taymans
59113af604 Use the new GstSample for snapshots
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Wim Taymans
66d7151787 update marshal list 2011-12-01 15:54:49 +01:00
Wim Taymans
92ac25bdb3 videometa: add copy functions
Without copy functions, the metadata is lost when we make a buffer copy such as
when we make a buffer writable.
2011-12-01 15:45:28 +01:00
Wim Taymans
e064f9dbf6 appsrc: fix negotiation
Remove old useless caps code.
Make a negotiate function and use the configured caps as the caps on the appsrc
pad. If nothing was configured, fall back to the parent implementation.
2011-12-01 15:38:10 +01:00
Edward Hervey
e44db979f9 audio: Add audio-marshal.list to dist-ed files 2011-11-30 11:33:41 +01:00
Wim Taymans
47cbb230e9 audio: move audio interfaces
Move the audio related interfaces to the audio library.
2011-11-30 07:57:02 +01:00
Wim Taymans
4fb0f98bb9 encoding-profile: small cleanup in docs 2011-11-30 07:23:07 +01:00
Edward Hervey
5bc6ffcd8b video: Don't forget to install moved header files 2011-11-29 19:49:50 +01:00
Wim Taymans
871b306fce video: move some interfaces
Move some interfaces to the video library
2011-11-29 19:10:01 +01:00
Alessandro Decina
848711706b libgstvideo: minor fixes to key unit events
Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
optional, update libgstvideo.def and fix docs a bit.

API: gst_video_event_new_upstream_force_key_unit
API: gst_video_event_new_downstream_force_key_unit
API: gst_video_event_is_force_key_unit
API: gst_video_event_parse_upstream_force_key_unit
API: gst_video_event_parse_downstream_force_key_unit

https://bugzilla.gnome.org/show_bug.cgi?id=607742
2011-11-29 09:15:59 +01:00
Andoni Morales Alastruey
df44e771f1 libgstvideo: Add force key unit events 2011-11-29 08:58:28 +01:00
Tim-Philipp Müller
0d87fd7146 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/fft/gstffts16.h
2011-11-28 21:25:11 +00:00
Tim-Philipp Müller
0c056a04fe Merge commit '4a58223e4c824fedc024af435337a769e8ce593e' into 0.11 2011-11-28 21:20:10 +00:00
Philippe Normand
0a841f6712 fft: Bracket public headers
This is especially needed if the gstfftw library is used from C++
code.

Fixes #665074
2011-11-28 20:28:19 +01:00
Wim Taymans
5b868bd424 Update for indexable change 2011-11-28 18:24:03 +01:00
Wim Taymans
468d1dde89 audio: update for clock provider API change 2011-11-28 17:51:41 +01:00
Vincent Penquerc'h
ea78b060a7 Revert "libgstvideo: add a new API to handle QoS events and dropping logic"
This reverts commit eb03323fb6.

*grumble* I managed to merge something I did not mean to.
2011-11-28 13:26:53 +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
Vincent Penquerc'h
eb03323fb6 libgstvideo: add a new API to handle QoS events and dropping logic
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Mark Nauwelaerts
4a58223e4c audioencoder: elaborate some documentation 2011-11-28 11:37:33 +01:00
Mark Nauwelaerts
9f57d91137 audiodecoder: add some documentation 2011-11-28 11:37:27 +01:00
Mark Nauwelaerts
856a5dd581 audiodecoder: really discard NULL decoded frame altogether
... including any timestamp, rather than having that one influence base_ts.
2011-11-28 11:37:23 +01:00
Tim-Philipp Müller
32b14c6ed3 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisenc.c
	gst/playback/gstdecodebin2.c
	gst/playback/gstplaysinkconvertbin.c
	gst/videorate/gstvideorate.c
2011-11-26 12:12:59 +00:00
Tim-Philipp Müller
a0639dad38 audio: remove unstable API guards from the audio decoder and encoder base classes 2011-11-25 13:11:54 +00:00
Edward Hervey
d94535832b gst-libs: Add --warn-all to introspection scanner
And let's get fixing those docs :)
2011-11-25 10:31:38 +01:00
Vincent Penquerc'h
44ec58b41b libgstriff: add a couple tags that need skipping
Found in a sample in the wild, appears to be ID3 tag.

https://bugzilla.gnome.org/show_bug.cgi?id=660249
2011-11-24 17:04:19 +00:00
Matej Knopp
817f39608c Fix printf format compiler warnings for OSX / 64bit
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2011-11-22 01:00:59 +00:00
Wim Taymans
8fc2a21775 update for activation changes 2011-11-21 13:35:34 +01:00
Wim Taymans
d0bd5f04c0 update for new scheduling query 2011-11-18 17:58:58 +01:00
Wim Taymans
1ad4d20607 add parent to activate functions 2011-11-18 13:56:04 +01:00
Wim Taymans
285702a1a6 fix for scheduling mode rename 2011-11-18 12:37:10 +01:00
Wim Taymans
7afdff3575 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Wim Taymans
3a53451501 tag: update for new typefind 2011-11-17 16:15:46 +01:00
Wim Taymans
e302833e65 add parent to pad functions 2011-11-17 12:48:25 +01:00
Mark Nauwelaerts
69c2c46472 audioencoder: invalidate format info when setup negotiation failed
... which ensures nothing subsequently tries to slip past _chain
and into a possibly improperly setup subclass.
2011-11-16 19:03:47 +01:00
Vincent Penquerc'h
f17f918b75 audiodecoder: accept dropped buffers before we know the format
This allows flacdec to not emit audio for headers, while allowing
the base audio decoder to keep its timestamps in sync.
2011-11-16 16:54:03 +00: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
026ec68f75 _peer_get_caps() -> _peer_query_caps() 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
Vincent Penquerc'h
3e095382a1 audiodecoder: accept dropped buffers before we know the format
This allows flacdec to not emit audio for headers, while allowing
the base audio decoder to keep its timestamps in sync.
2011-11-15 13:29:31 +00:00
Robert Swain
a23dff1fbb audio: Remove some unused variables 2011-11-14 12:49:50 +01:00
Olivier Crête
82827df405 rtcpbuffer: Add feedback message types from RFC 5104
These are Codec Control messages (CCM)

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:24:16 +01:00
Mark Nauwelaerts
38615abdd8 audiodecoder: improve reverse playback
... by doing some more (reverse) timestamp interpolating and
refactoring downstream pushing.

Fixes #661983.
2011-11-14 12:00:06 +01:00
Tim-Philipp Müller
046dc1097c tag: convert GstTagDemux's sometimes source pad to an always source pad
Originally decodebin couldn't deal with that in 0.10, but now simply
setting the caps when we know them should be enough. Pad activation
mode switching might need some more testing/tweaking with the new
arrangement.
2011-11-14 10:07:06 +00:00
Wim Taymans
fc04bcecbe fix docs 2011-11-14 10:46:56 +01:00
Tim-Philipp Müller
c76e5804b3 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:23 +00:00
Tim-Philipp Müller
455f337e3d gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes 2011-11-13 18:22:06 +00:00
Tim-Philipp Müller
4b0dce5148 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/audio/Makefile.am
	gst-libs/gst/audio/audio.h
	tests/examples/seek/jsseek.c
	tests/examples/seek/seek.c
	tests/icles/test-colorkey.c
2011-11-13 13:36:29 +00:00
Tim-Philipp Müller
cd21e69913 audio: add GST_AUDIO_INFO_IS_VALID macro and use in audio decoder base class
API: GST_AUDIO_INFO_IS_VALID
2011-11-13 13:18:16 +00:00
Tim-Philipp Müller
394b1f8c3c audio: fix order in LIBADD
Local libs must come first.
2011-11-12 12:13:05 +00:00
Tim-Philipp Müller
756c9e2948 audio: fix order in LIBADD
Local libs must come first.
2011-11-12 11:58:59 +00:00
Tim-Philipp Müller
dfc13ec632 cdda: rename GstCddaBaseSrc to GstAudioCdSrc and move to libgstaudio
Another mini-lib down, to make space for new mini libs.

Remove bogus copyright line while at it.
2011-11-12 11:58:58 +00:00
René Stadler
8023733da8 video: init chroma-size and colorimetry members even if missing from caps
This makes a TRUE return from gst_video_info_from_caps fully consistent with
gst_video_info_init.
2011-11-11 19:57:25 +01:00
Wim Taymans
bdf3845498 rtsp: cleanup headers
Add padding, fix indentation, remove deprecated stuff
2011-11-11 19:35:33 +01:00
Wim Taymans
107d5a3d05 rtp: fix headers
indent, add padding, remove old abidata
2011-11-11 19:21:09 +01:00
Wim Taymans
370dca92d5 remove padding from interfaces 2011-11-11 19:16:54 +01:00
Wim Taymans
43eafea6f6 fix docs 2011-11-11 19:16:12 +01:00
Wim Taymans
fa897def26 mixertrack: fix docs 2011-11-11 19:14:26 +01:00
Wim Taymans
c42e257751 audio: fix docs 2011-11-11 19:13:52 +01:00
Wim Taymans
bfd417644d pbutils: clean up headers
Add padding
indent
2011-11-11 19:01:56 +01:00
Wim Taymans
7fb914d5b6 interfaces: clean up
Remove deprecated bits
Fix FIXMES
Indent
Add padding
2011-11-11 18:49:09 +01:00
Wim Taymans
40be2eec9f fft: fix headers
More fft structure into .c file
indent headers
2011-11-11 18:23:22 +01:00
Wim Taymans
b645287775 audio: fix headers
Add const to some methods.
Add padding.
Add GType for GstAudioInfo and GstAudioFormatInfo.
Add new/copy/free for GstAudioInfo.
2011-11-11 17:53:03 +01:00
Wim Taymans
b12aabc9da app: fix headers 2011-11-11 17:52:36 +01:00
Wim Taymans
06a6ab3e32 video: add support for max-framerate
Add support for max-framerate in the video helpers and update the video
caps document.
2011-11-11 13:14:21 +01:00
Wim Taymans
b14e3b9adc remove bogus file 2011-11-11 12:35:50 +01:00
Wim Taymans
5f1312b5d8 rename files to match object names 2011-11-11 12:32:23 +01:00
Wim Taymans
ccf511a5d4 rename BaseRTP -> RTPBase 2011-11-11 12:24:08 +01:00
Wim Taymans
a3416bc11f rename baseaudio* -> audiobase* 2011-11-11 12:00:52 +01:00
Wim Taymans
ee7072fe7e rename GstBaseAudio* ->GstAudioBase* 2011-11-11 11:52:47 +01:00
Wim Taymans
3d0ac3ded2 rename files to match contained objects 2011-11-11 11:33:15 +01:00
Wim Taymans
6511f36fdb audio: GstRingBuffer -> GstAudioRingBuffer 2011-11-11 11:21:41 +01:00
Wim Taymans
b81af23992 audio: rename internal audio ringbuffer 2011-11-11 10:54:39 +01:00
Wim Taymans
ad8f694ec6 remove bogus files
They got somehow commited in 7012e88090
2011-11-11 10:39:52 +01:00
Wim Taymans
e338792ab0 update for adapter api changes 2011-11-10 18:32:39 +01:00
Wim Taymans
fe766cf9f4 videosink: reset padding 2011-11-10 17:52:36 +01:00
Wim Taymans
ace51b689f rtsp: remove deprecated base64 library 2011-11-10 17:39:10 +01:00
Wim Taymans
f8ef57ca48 Merge branch 'master' into 0.11 2011-11-10 17:26:12 +01:00
Wim Taymans
24347217a5 rtp: fix de/payloaders
gst_basertppayload -> gst_base_rtp_payload
Add pts/dts support in the depayloader
Remove old timestamp code
Add a default getcaps function so subclasses can chain up to it instead of
relying on the return value of the getcaps function.
2011-11-10 17:18:00 +01:00
Vincent Penquerc'h
0d47c615ad baseaudiosink: make unsigned properties unsigned, not signed 2011-11-10 15:55:31 +00:00
Wim Taymans
57eaf388e0 audio: fix base class vmethods 2011-11-10 16:24:12 +01:00
Wim Taymans
ea9bc40bf9 audiosrc: avoid deadlock 2011-11-10 16:05:19 +01:00
Wim Taymans
1f8fe283f6 audioclock: remove _full version 2011-11-10 13:51:23 +01:00
Wim Taymans
f80d73468e appsink: fix header 2011-11-10 13:51:23 +01:00
Edward Hervey
3fa654b41c pbutils: Fix introspection annotations
Fixes #663689
2011-11-10 12:47:51 +01:00
Wim Taymans
d77c8cafee Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pango/gsttextoverlay.c
	gst-libs/gst/video/video.c
2011-11-09 12:11:59 +01:00
Wim Taymans
372b9329b9 remove query types 2011-11-09 11:47:54 +01:00
Wim Taymans
308f6301a8 update for pad probe api changes 2011-11-08 11:08:21 +01:00
Stefan Sauer
e9629e37b7 video: log important details and fix format strings
If we complain about wrong parameters passed, also log the actual value.
2011-11-08 09:32:00 +01:00
Tim-Philipp Müller
d7fc45f42e docs: fix up some Since: markers 2011-11-07 23:05:44 +00: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
Felipe Contreras
3df415d4c7 baseaudiosink: make discont-wait configurable
Now we can configure how much time to wait before deciding that a
discont has happened.

Also, adds getter and setter to allow derived implementations to set
this value upon construction.

Suggestions and several improvements by Havard Graff.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-11-07 11:58:46 +01:00
Felipe Contreras
0a111bf26e baseaudiosink: delay the resyncing of timestamp vs ringbuffertime
A common problem for audio-playback is that the timestamps might not
be completely linear. This is specially common when doing streaming over
a network, where you can have jittery and/or bursty packettransmission,
which again will often be reflected on the buffertimestamps.

Now, the current implementation have a threshold that says how far the
buffertimestamp is allowed o drift from the ideal aligned time in the
ringbuffer. This was an instant reaction, and ment that if one buffer
arrived with a timestamp that would breach the drift-tolerance, a resync
would take place, and the result would be an audible gap for the
listener.

The annoying thing would be that in the case of a "timestamp-outlier",
you would first resync one way, say +100ms, and then, if the next
timestamp was "back on track", you would end up resyncing the other way
(-100ms) So in fact, when you had only one buffer with slightly off
timestamping, you would end up with *two* audible gaps. This is the
problem this patch addresses.

The way to "fix" this problem with the previous implementation, would
have been to increase the "drift-tolerance" to a value that was greater
than the largest timestamp-outlier one would normally expect.  The big
problem with this approach, however, is that it will allow normal
operations with a huge offset timestamp vs running-time, which is
detrimental to lip-sync. If the drift-tolerance is set to 200ms, it
basically means that lip-sync can easily end up being off by that much.

This patch will basically start a timer when the first breach of
drift-tolerance is detected. If any following timestamp for the next n
nanoseconds gets "back on track" within the threshold, it has basically
eliminated the effect of an outlier, and the timer is stopped.  If,
however, all timestamps within this time-limit are breaching the
threshold, we are probably facing a more permanent offset in the
timestamps, and a resync is allowed to happen.

So basically this patch offers something as rare as both higher
accuracy, it terms of allowing smaller drift-tolerances, as well as much
smoother, less glitchy playback!

Commit message and improvments by Havard Graff.

Fixes bug #640859.
2011-11-07 11:33:32 +01:00
Felipe Contreras
3f1395afae baseaudiosink: rename some variables 2011-11-07 11:18:34 +01:00
Felipe Contreras
fbde258be6 baseaudiosink: use gst_util_uint64_scale_int when appropriate
It's probably safer this way.
2011-11-07 11:11:08 +01:00
Felipe Contreras
369cf3f14a baseaudiosink: split drift-tolerance into alignment-threshold
So that drift-tolerance is used for clock slaving resync, and
alignment-threshold is for timestamp drift.
2011-11-07 11:10:05 +01:00
Felipe Contreras
58b9818853 baseaudiosink: trivial comment fixes
Some found by Havard Graff.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-11-07 10:57:56 +01:00
Wim Taymans
2f8292b495 ringbuffer: store bpf in the right variable 2011-11-04 13:21:24 +01:00
Edward Hervey
771cbbb17c rtpbuffer: Fix compilation issues with gcc 4.6.1 2011-11-04 10:36:15 +01:00
Reynaldo H. Verdejo Pinochet
7559fb29a4 Add missing default include paths to androgenizer call
Fixes building tag/ with Android's NDK
2011-11-03 21:35:38 -03:00
Wim Taymans
f4bee46072 net: remove net library, it's now in core 2011-11-03 16:48:51 +01:00
Wim Taymans
a5fa136c0b update for tag API removal 2011-11-02 12:11:16 +01:00
Edward Hervey
dfc9d1658d video: Add convenience macros for accessing GstVideoInfo flags 2011-11-02 11:24:33 +01:00
Wim Taymans
4e6563d91c netbuffer: _netaddress_ -> _net_address_ 2011-11-02 09:04:28 +01:00
Wim Taymans
e2015eeb5f netaddress: updata api 2011-11-02 09:04:27 +01:00
Wim Taymans
e067e67923 rename meta* -> *meta 2011-11-02 09:04:27 +01:00
Wim Taymans
5bdfd6d899 structure: fix for api update 2011-11-02 09:04:27 +01:00
Wim Taymans
df4999aeb1 bufferlist: update for new API 2011-11-02 09:04:27 +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
220ccdf275 audioencoder: save audio info parsed in setcaps in encoder context
Otherwise we'll just error out when the first buffer gets pushed.
This is a porting artefact, in 0.10 the infos were allocated on the
heap, now we're doing everything with stack-allocated structs.
2011-10-31 14:22:39 +00:00
Tim-Philipp Müller
5ee51e47a1 ext, gst, gst-libs, tests: update for tag list API changes 2011-10-31 14:22:39 +00:00
René Stadler
7eb0985282 audio: remove old C file generated from template
Not sure how this one got pulled into a merge. In 0.10, it was moved away to
gst-template a long time ago. gstaudiofilterexample.c got generated from
gstaudiofiltertemplate.c.
2011-10-31 15:19:54 +01:00
Wim Taymans
95281cc306 Merge branch 'master' into 0.11 2011-10-28 16:24:44 +02:00
Wim Taymans
7247eb5f2c fix compile for SEEK_TYPE_CUR removal 2011-10-28 16:11:36 +02:00
Mersad Jelacic
d430eb65c5 audiosink: avoid deadlocking audioringbuffer thread
... when it goes into wait for ringbuffer starting just after such
having been signalled.

Fixes #661738.
2011-10-28 14:07:40 +02:00
Wim Taymans
b70275fa10 audiofilter: use BPF for unit_size 2011-10-28 11:37:31 +02:00
René Stadler
9beff28579 audiofilter: fix get_unit_size 2011-10-28 11:24:00 +02:00
René Stadler
5d2154ff4b audiofilter: init audio info sooner 2011-10-28 11:24:00 +02:00
René Stadler
372cf41a6d audio, video: init audio/video format info to UNKNOWN format
This is to prevent e.g. GST_AUDIO_INFO_FORMAT() from crashing on a NULL pointer
dereference when used with an unset info.
2011-10-28 11:24:00 +02:00
Wim Taymans
01854cca80 basertppay: rename caps fields
Make the caps fields for timestamp and seqnum match the element
properties.

See #628773
2011-10-27 18:54:50 +02:00
Wim Taymans
9555229e79 basedepay: remove old fields 2011-10-27 18:50:32 +02:00
Wim Taymans
06311362e9 fix compilation 2011-10-27 17:26:58 +02: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
Wim Taymans
b21bb37657 overlay: fix compilation 2011-10-27 15:29:36 +02:00
Stefan Sauer
53d7d2e966 interfaces: clean up the use of iface and class/klass 2011-10-21 14:46:48 +02:00
Mark Nauwelaerts
981070eb44 audiodecoder: having gather queue contents implies some draining is in order
... which ensures e.g. processing and sending last fragment of reverse playback
downstream at EOS.
2011-10-19 16:51:09 +02:00
Tim-Philipp Müller
4e59e63ff7 baseaudiosink: fix unused variable compiler warning if debugging in core is disabled
https://bugzilla.gnome.org/show_bug.cgi?id=660150
2011-10-19 00:32:13 +01:00
Edward Hervey
12a8fff8ac audio: Add some default channel positions 2011-10-17 12:00:55 +02:00
Edward Hervey
b4858253dc audio: Properly handle signedness in gst_audio_format_build_integer() 2011-10-17 12:00:16 +02:00
Edward Hervey
45c4a19472 audio: Indent and doc fixes 2011-10-17 11:45:39 +02:00
Edward Hervey
8268a7a20e discoverer: Only call gst_video_info_from_caps on raw video 2011-10-11 17:42:35 +02:00
Wim Taymans
f1088ed647 update for UNEXPECTED -> EOS flowreturn 2011-10-10 11:39:52 +02:00
Thiago Santos
123671bc05 libs: video: Add protection against null strings
Check and assert if input for gst_video_format_from_string is null.
Return GST_VIDEO_FORMAT_UNKNOWN as a fallback
2011-10-09 17:05:15 -03:00
Tim-Philipp Müller
ab949eebbd audiodecoder: update to 0.11 API after merge 2011-10-09 16:15:54 +01:00
Tim-Philipp Müller
303dbaf84b Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tests/check/pipelines/vorbisdec.c
	tests/check/pipelines/vorbisenc.c
2011-10-09 16:08:36 +01:00
Alessandro Decina
bc6f00becb audioencoder: fix compile warning 2011-10-09 16:48:18 +02:00
Mark Nauwelaerts
871b1584c9 audioencoder: only resync to upstream upon discont in perfect ts mode
... as documented, where discont is marked here if tolerance has been
exceeded.
2011-10-08 20:20:10 +02:00
Mark Nauwelaerts
a7ce550d04 audiodecoder: fix timestamp tolerance handling 2011-10-08 20:20:06 +02:00
Mark Nauwelaerts
d8312994aa audiodecoder: handle empty input by discarding 2011-10-08 20:20:03 +02:00
Wim Taymans
73b894107a Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisdec.c
	ext/vorbis/gstvorbisenc.c
	ext/vorbis/gstvorbisenc.h
	gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Mark Nauwelaerts
37c629fcc6 audioencoder: make upstream queries MT-safe 2011-10-07 14:52:50 +02:00
Mark Nauwelaerts
77069f01b1 audiodecoder: make upstream queries and events MT-safe 2011-10-07 14:52:48 +02:00
Edward Hervey
b8219faa90 audio: Make sure 'channels' and 'channel-positions' are coherent
If channel-positions are present, check they match the reported
'channels' value.
2011-10-05 11:57:54 +02:00
Edward Hervey
70d967da7c audio: Fix overread in channel positions
The array we're writing to is limited to 64 ... but the amount of
input positions might be lower than 64. Therefore use MIN and not
MAX to know how many values to read from the array.
2011-10-05 11:51:07 +02:00
Wim Taymans
a00927ad03 Merge branch 'master' into 0.11 2011-10-04 17:58:49 +02:00
Vincent Penquerc'h
93900d47ed encoding-profile: add a function to create a profile from a discoverer info
Only A/V streams are added at the moment, there does not seem to be
a similar way to add other streams (eg, subtitles).

https://bugzilla.gnome.org/show_bug.cgi?id=642878
2011-10-03 11:51:23 +02:00
Wim Taymans
8778cff7f0 video: add h264 transfer functions 2011-10-03 10:02:43 +02:00
Tim-Philipp Müller
6ec5fc8d95 audio: don't use GST_PTR_FORMAT for segments
Avoids crashes with debugging output enabled.
2011-09-30 10:56:02 +01:00
Wim Taymans
67f1a097bf video: add another color matrix for mpeg2 2011-09-30 11:04:19 +02:00
Wim Taymans
9592796d8a video: fix docs 2011-09-30 11:04:19 +02:00
Wim Taymans
1395378575 audiodecoder: fix refcounting error 2011-09-28 16:08:14 +02:00
Wim Taymans
ca6ebee870 ringbuffer: store info so we can debug it 2011-09-28 16:07:53 +02:00
Wim Taymans
f97a9bdc68 Merge branch 'master' into 0.11 2011-09-28 15:46:40 +02:00
Mark Nauwelaerts
8633eb391d audiodecoder: really push pending events 2011-09-28 15:42:46 +02:00
Wim Taymans
19626cf27a audiodecoder: add method to set output caps
Add a method to configure the output caps. Subclasses can't use
gst_pad_set_caps() anymore because then we won't see the caps.
Unbreak the padtemplate registration, the GTypeClass that is configured in the
object during _init is not the right one, we need to use the klass passed as the
argument to the init function..
2011-09-28 15:35:56 +02:00
Tim-Philipp Müller
e4e2e3c7b0 audioencoder: remove more tags from upstream tag events such as bitrate tags
We want to remove all codec specific tags.
2011-09-28 14:32:20 +01:00
Wim Taymans
19346c2c3b Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudioencoder.c
	gst/playback/gstplaybin2.c
	gst/videotestsrc/videotestsrc.c
2011-09-28 11:35:46 +02:00
Mark Nauwelaerts
01d27ee084 audioencoder: only got_data if we really got some
... which avoids going loopy with casual subclass.
2011-09-27 16:58:44 +02:00
Mark Nauwelaerts
24d71cf7a6 audioencoder: really push pending events 2011-09-27 16:58:41 +02:00
Mark Nauwelaerts
803b65613b audioencoder: send tag event after pending events
... which probably includes a pending newsegment event.
2011-09-27 16:21:55 +02:00
Mark Nauwelaerts
89f6720545 audioencoder: protect pending_events with proper lock 2011-09-27 16:21:45 +02:00
Mark Nauwelaerts
9a9541ff35 audioencoder: clean up some documentation 2011-09-27 16:21:41 +02:00
Wim Taymans
4bf9022e0c docs: improve docs 2011-09-27 11:19:24 +02:00
Wim Taymans
c290b8044a audioenc: fix compilation 2011-09-26 21:11:14 +02:00
Wim Taymans
f71511edd2 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/gstaudiodecoder.c
	gst-libs/gst/audio/gstaudioencoder.c
	gst/encoding/gstencodebin.c
2011-09-26 19:22:05 +02:00
Sebastian Dröge
e4c895dfaf audioencoder: Improve set_frame_sample_{min,max} documentation 2011-09-26 16:35:55 +02:00
Sebastian Dröge
b767be2f68 audiodecoder: Fix thread safety issues if both pads have different streaming threads 2011-09-26 16:22:00 +02:00
Sebastian Dröge
d0bf465248 audiodecoder: Delay sending of serialized events to finish_frame() 2011-09-26 16:19:42 +02:00
Sebastian Dröge
f3f416004f Revert "audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code"
This reverts commit 11e375486e.

GST_BOILERPLATE() can't define an abstract type and
G_DEFINE_ABSTRACT_TYPE() does not pass the class struct to
the instance_init function and there's no way to get the
class struct of the current type in instance_init().
2011-09-26 16:02:51 +02:00
Sebastian Dröge
4fa9749106 audioencoder: Add support for requesting a minimum and maximum number of samples per frame
This extends the special case of a fixed number of samples per frame
that was supported before already.
2011-09-26 15:59:22 +02:00
Sebastian Dröge
16c3d6b3d5 audioencoder: Fix thread safety issues if both pads have different streaming threads 2011-09-26 15:45:40 +02:00
Sebastian Dröge
61ffd7cb42 audioencoder: Delay sending of serialized events to finish_frame()
This makes sure that the caps are already set before any serialized
events are sent downstream.
2011-09-26 15:42:14 +02:00
Sebastian Dröge
11e375486e audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code 2011-09-26 15:34:54 +02:00
Mark Nauwelaerts
abafb030ac audioencoder: add some tag handling convenience help 2011-09-26 15:15:03 +02:00
Mark Nauwelaerts
a99b313c26 audioencoder: provide CODEC/AUDIO_CODEC handling 2011-09-26 15:10:08 +02:00
Mark Nauwelaerts
aae0312e10 audioencoder: filter AUDIO_CODEC/CODEC tags from passing tag events 2011-09-26 15:10:06 +02:00
Tim-Philipp Müller
754b22d7ee libs: remove unused floatcast header-only library
There's no code whatsoever that uses these macros. If anyone
ever feels the need to resurrect them, we should add them to
gstutils.h in core or libgstaudio or so.
2011-09-23 21:18:47 +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
Edward Hervey
3f45eb1cfc gst-libs: Temporarily remove dependency of gstaudio on gstpbutils
Also re-order the SUBDIRS in the higher-level Makefile so it cleanly
installs.

https://bugzilla.gnome.org/show_bug.cgi?id=657675
2011-09-23 16:17:45 +02:00
Mark Nauwelaerts
001b4a0072 audioencoder: proxy some more optional downstream caps fields to upstream 2011-09-22 15:47:06 +02:00
Mark Nauwelaerts
2a362a95f7 audioencoder: changed is verily the opposite of equal 2011-09-22 15:47:06 +02:00
Mark Nauwelaerts
b420dd54ea audioencoder: prevent crashing when comparing to a freshly inited GstAudioInfo 2011-09-22 15:46:56 +02:00
Mark Nauwelaerts
7fa7de9221 audio: some more accessor macros for GstAudioInfo 2011-09-22 15:45:05 +02:00
Mark Nauwelaerts
b44978befe audiodecoder: fix documentation typo 2011-09-22 15:45:01 +02:00
Age Bosma
043ee22e25 discoverer: Don't use gtk-doc /* < ... > */ style comments for signals
The /*< ... >*/ style is only used for public|protected|private,
signal comments use /* signals */. This prevents the some code
parsers/binding generators to be confused by the comment.
2011-09-19 14:36:00 +02:00
Mark Nauwelaerts
e574f58e71 rtspdefs: add RTCP-Interval header 2011-09-19 11:32:23 +02:00
Tim-Philipp Müller
454c554b11 docs: minor addition to GST_TAG_ID3V2_HEADER_SIZE docs 2011-09-12 19:55:40 +01:00
Tim-Philipp Müller
55182ed841 baseaudiosrc: don't try to fixate "width" field for alaw/mulaw
Fixes warning when trying to fixate e.g. pulsesrc ! audio/x-alaw ! fakesink.
2011-09-10 18:30:55 +01:00
Tim-Philipp Müller
0f38f86182 colorbalance: add some guards to interface methods
https://bugzilla.gnome.org/show_bug.cgi?id=658584
2011-09-09 13:09:43 +01:00
Tim-Philipp Müller
4529c6dc32 Merge remote-tracking branch 'origin/master' into 0.11
Merge in doc updates for audio enums from 0.10, and get rid
of the #if #else in the enum list, since that confuses gtk-doc.

Conflicts:
	gst-libs/gst/audio/audio.c
	gst-libs/gst/audio/audio.h
2011-09-06 16:42:42 +01:00
Wim Taymans
dc28bd1b63 audio: rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN 2011-09-06 16:27:27 +01:00
Wim Taymans
f04b8fd8af audio/video add descriptions
Add a description to the audio and video format info in case we want to use this
later.
2011-09-06 16:46:48 +02:00
Tim-Philipp Müller
36a75bdb71 audio: update internal silent sample defines as well to match 0.11 2011-09-06 15:46:45 +01:00
Wim Taymans
c0d31dd555 rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN 2011-09-06 16:46:02 +02:00
Tim-Philipp Müller
91d1112360 audio: update audio format enums to match changes in 0.11
And add new audio format info stuff to docs.
2011-09-06 15:36:51 +01: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
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
Tim-Philipp Müller
9a8a989a22 docs: more docs clean-ups 2011-09-06 10:07:33 +01:00
Tim-Philipp Müller
5e61db25b5 audio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean 2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
ba05716485 docs: some docs love 2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
7563e0c9cf docs: add GstAudioDecoder and GstAudioEncoder to documentation 2011-09-05 23:28:20 +01:00
Tim-Philipp Müller
86e6343759 audio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder
API: gst_gst_audio_decoder_finish_frame()
API: gst_gst_audio_decoder_get_audio_info()
API: gst_gst_audio_decoder_get_byte_time()
API: gst_gst_audio_decoder_get_delay()
API: gst_gst_audio_decoder_get_latency()
API: gst_gst_audio_decoder_get_max_errors()
API: gst_gst_audio_decoder_get_min_latenc()y
API: gst_gst_audio_decoder_get_parse_state()
API: gst_gst_audio_decoder_get_plc()
API: gst_gst_audio_decoder_get_plc_aware()
API: gst_gst_audio_decoder_get_tolerance()
API: gst_gst_audio_decoder_get_type()
API: gst_gst_audio_decoder_set_byte_time()
API: gst_gst_audio_decoder_set_latency()
API: gst_gst_audio_decoder_set_max_errors()
API: gst_gst_audio_decoder_set_min_latency()
API: gst_gst_audio_decoder_set_plc()
API: gst_gst_audio_decoder_set_plc_aware()
API: gst_gst_audio_decoder_set_tolerance()

API: gst_gst_audio_encoder_finish_frame()
API: gst_gst_audio_encoder_get_audio_info()
API: gst_gst_audio_encoder_get_frame_max()
API: gst_gst_audio_encoder_get_frame_samples()
API: gst_gst_audio_encoder_get_hard_resync()
API: gst_gst_audio_encoder_get_latency()
API: gst_gst_audio_encoder_get_lookahead()
API: gst_gst_audio_encoder_get_mark_granule()
API: gst_gst_audio_encoder_get_perfect_timestamp()
API: gst_gst_audio_encoder_get_tolerance()
API: gst_gst_audio_encoder_get_type()
API: gst_gst_audio_encoder_proxy_getcaps()
API: gst_gst_audio_encoder_set_frame_max()
API: gst_gst_audio_encoder_set_frame_samples()
API: gst_gst_audio_encoder_set_hard_resync()
API: gst_gst_audio_encoder_set_latency()
API: gst_gst_audio_encoder_set_lookahead()
API: gst_gst_audio_encoder_set_mark_granule()
API: gst_gst_audio_encoder_set_perfect_timestamp()
API: gst_gst_audio_encoder_set_tolerance()

https://bugzilla.gnome.org/show_bug.cgi?id=642690
2011-09-05 23:28:13 +01:00
Wim Taymans
2f2aa4ac32 video: improve docs a little 2011-08-31 13:32:21 +02:00
Wim Taymans
de4aeab544 video: add some more macros 2011-08-30 14:04:54 +02:00
Wim Taymans
e694528155 base: port to 0.11 2011-08-29 13:28:08 +02:00
Wim Taymans
057aecc34e audio: fix after merge 2011-08-29 11:42:35 +02:00
Wim Taymans
dc2b00adb8 pbutils: port to new API 2011-08-29 11:38:01 +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
Tim-Philipp Müller
67a12c9c72 pbutils: don't depend on libgstvideo just to parse some caps
Let's extract those ints and fractions ourselves and not depend
on libgstvideo.
2011-08-27 14:57:41 +01:00
Tim-Philipp Müller
517153e85a audio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build
However, libgstaudio now depends on libgstvideo (via pbutils).

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

API: gst_audio_info_clear()
API: gst_audio_info_convert()
API: gst_audio_info_copy()
API: gst_audio_info_free()
API: gst_audio_info_from_caps()
API: gst_audio_info_init()
API: gst_audio_info_to_caps()
API: gst_base_audio_decoder_finish_frame()
API: gst_base_audio_decoder_get_audio_info()
API: gst_base_audio_decoder_get_byte_time()
API: gst_base_audio_decoder_get_delay()
API: gst_base_audio_decoder_get_latency()
API: gst_base_audio_decoder_get_max_errors()
API: gst_base_audio_decoder_get_min_latency()
API: gst_base_audio_decoder_get_parse_state()
API: gst_base_audio_decoder_get_plc()
API: gst_base_audio_decoder_get_plc_aware()
API: gst_base_audio_decoder_get_tolerance()
API: gst_base_audio_decoder_get_type()
API: gst_base_audio_decoder_set_byte_time()
API: gst_base_audio_decoder_set_latency()
API: gst_base_audio_decoder_set_max_errors()
API: gst_base_audio_decoder_set_min_latency()
API: gst_base_audio_decoder_set_plc()
API: gst_base_audio_decoder_set_plc_aware()
API: gst_base_audio_decoder_set_tolerance()
API: gst_base_audio_encoder_finish_frame()
API: gst_base_audio_encoder_get_audio_info()
API: gst_base_audio_encoder_get_frame_max()
API: gst_base_audio_encoder_get_frame_samples()
API: gst_base_audio_encoder_get_hard_resync()
API: gst_base_audio_encoder_get_latency()
API: gst_base_audio_encoder_get_lookahead()
API: gst_base_audio_encoder_get_mark_granule()
API: gst_base_audio_encoder_get_perfect_timestamp()
API: gst_base_audio_encoder_get_tolerance()
API: gst_base_audio_encoder_get_type()
API: gst_base_audio_encoder_proxy_getcaps()
API: gst_base_audio_encoder_set_frame_max()
API: gst_base_audio_encoder_set_frame_samples()
API: gst_base_audio_encoder_set_hard_resync()
API: gst_base_audio_encoder_set_latency()
API: gst_base_audio_encoder_set_lookahead()
API: gst_base_audio_encoder_set_mark_granule()
API: gst_base_audio_encoder_set_perfect_timestamp()
API: gst_base_audio_encoder_set_tolerance()
2011-08-27 14:47:50 +01:00
Tim-Philipp Müller
58f515f06a docs: add since markers to baseaudio{decoder,encoder} documentation 2011-08-27 14:47:50 +01:00
Tim-Philipp Müller
90e3d25891 baseaudiodecoder, baseaudioencoder: fix some compiler warnings
Leaving the GST_USE_UNSTABLE_API guards in until some of the
ported decoders have been updated and it's clear that I didn't
mess up anywhere porting things to the new audio API.
2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
52ecb383d7 baseaudioutils: remove, merged into or superseded by audio.c 2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
7f0c7e5f82 baseaudioencoder: port to new GstAudioInfo API 2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
c89b49bfaf baseaudiodecoder: port to GstAudioInfo API 2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
946ddb6462 audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free} 2011-08-27 14:47:49 +01:00
Tim-Philipp Müller
63a3d360dc audio: add GstAudioFormat, GstAudioFormatInfo and GstAudioInfo
Same as in 0.11, but with caps parsing/serialising for 0.10 style
caps. Add setting default channel positions.
2011-08-27 14:47:01 +01:00
Mark Nauwelaerts
bf4a28f420 baseaudioencoder: remove leftover experimental code 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
35b172004c audioutils: modify _parse, add GType support functions 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
a4d5e33224 baseaudiodecoder: move properties to private storage and add
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
7939d37936 baseaudiodecoder: rename property 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
d71e427c49 baseaudiodecoder: replace context helper structure by various
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
a39a66dd4b baseaudioencoder: move properties to private storage and add
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
41a0d6f8f0 baseaudioencoder: rename some properties 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
6302c9d31d baseaudioencoder: replace context helper structure by various
_get/_set
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
d1ab04f029 baseaudio: rename GstAudioState to GstAudioFormatInfo 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
ecf57f2b73 baseaudioencoder: TEMP; avoid some imperfect ts jitter ?
... even when not in perfect mode ?
2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
5a40343102 baseaudioencoder: debug format fixes 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
cedbedbbca baseaudiodecoder: debug format fix 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
8b6109cdbe baseaudiodecoder: fixup documentation 2011-08-27 14:47:00 +01:00
Mark Nauwelaerts
5003868dc7 baseaudiodecoder: fix FLUSH_STOP actions 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
660aa2e2c0 baseaudiodecoder: preserve upstream seek event seqnum 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d1f5c34fe7 baseaudioencoder: use buffer running time for granule calculation 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
6c04035eec baseaudiodecoder: minor fix in ts resync 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d46006b198 baseaudiodecoder: improve glitch resilience
Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
atom out of place, while on the other hand not failing indefinitely.
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
79b41f59f6 baseaudiodecoder: add limited legacy seeking support 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
0c33df6540 baseaudiodecoder: cater for audio-codec tag 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
1dbbe7c89d baseaudiodecoder: initial version 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
87409f2587 baseaudioencoder: misc fixes 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
8c61685554 baseaudio: add audioutils for caps and query handling helper utils 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
cb04eaaa8f baseaudioencoder: mark unstable API 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
b47c08ba17 baseaudioencoder: fix clearing context 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
e3cae1619c baseaudioencoder: simplify latency variable handling 2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
9ce2edc918 baseaudioencoder: minor fixes and code simplifications
Also modify and elaborate a bit on pre_push (though currently unused to no harm).
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
d0e9fbf3db baseaudioencoder: additional documentation on granule semantics and
configuration
2011-08-27 14:46:59 +01:00
Mark Nauwelaerts
9f7849eac9 baseaudioencoder: elaborate property names 2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
bf61f04577 baseaudioencoder: rename state field xint to is_int 2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
3d2f496b3a baseaudioencoder: gtk-doc syntax fixes 2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
51acb02342 baseaudioencoder: minor fix and cleanup 2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
90d99f23c6 baseaudiocodec: ... and also rename to baseaudiodecoder 2011-08-27 14:46:58 +01:00
Mark Nauwelaerts
dfd7616f60 gst-libs/gst/audio: Remove baseaudiodecoder
Adds little beyond baseaudiocodec (seeking, bit of query), and what it adds
is mainly out-of-scope (e.g. decoder seeking, should be done by upstream
demuxer/parser) and/or based on non-prime example (mad).
2011-08-27 14:46:58 +01:00
Iago Toral
492ab47fd2 baseaudiodecoder: Return TRUE if we run into special conversion cases. 2011-08-27 14:46:50 +01:00
Iago Toral
2ed1331f43 audio: initial version of GstBaseAudioCodec
Moved most of the code to GstBaseAudioCodec, GstBaseAudioDecode is
now really small, maybe we do not really need it (or its encoder
counterpart). Added more API for subclasses and documentation.
2011-08-27 14:45:47 +01:00
Iago Toral
9740eb35b8 Added src_queries to decoder class. Added handle_discont to decoder
class. Reworked reset. Various other minor fixes.
2011-08-27 14:45:47 +01:00
Iago Toral
d05c805b16 Added a draft implementation of gstbaseaudiodecoder 2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
fc6b421227 Added audio directory for audio codec base classes 2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
ef92c7438d audioencoders: add streamheader helper utility 2011-08-27 14:45:47 +01:00
Mark Nauwelaerts
80241fde8d audioencoders: baseaudioencoder and ported encoders 2011-08-27 14:45:47 +01:00
Vincent Penquerc'h
921b92ce06 discoverer: retrieve audio track language from tags too
https://bugzilla.gnome.org/show_bug.cgi?id=657257
2011-08-26 10:05:51 +02:00
Vincent Penquerc'h
e51cbc136b discoverer: consider subtitles as raw
Otherwise, discoverer will generated an "inner" codec
where there can be a tranformation (eg, kate -> DVD SPU,
and various ->text/x-pango-markup).

https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:51 +02:00
Vincent Penquerc'h
143a620701 discoverer: add application/x-kate to subtitles caps
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Vincent Penquerc'h
8438bc038a discoverer: get language from other tags if we did not get it already
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Vincent Penquerc'h
4b5bfb1fd4 discoverer: add subtitles API
https://bugzilla.gnome.org/show_bug.cgi?id=639055
2011-08-26 10:05:50 +02:00
Edward Hervey
d0eb0ed058 video: Fix typo in interlaced flag (TTF => TFF) 2011-08-25 17:41:11 +02:00
Wim Taymans
b79ddf66d2 video: clean up the custom flags
Clean up the flags, make an enum of them. We can now do this because there are
no subclasses of buffer anymore.
2011-08-25 16:42:08 +02:00
Wim Taymans
7e97391195 convert: use new caps 2011-08-25 16:30:49 +02:00
Olivier Crête
791eeeb1a6 basertppayload: Make perfect timestamps reproducible across element restart
Without the perfect timestamp machinery, the RTP timestamp can be
computed directly from the running time of a buffer, but the perfect
timestamp patch broke that assumption. This patch restores it by
having the first perfect timestamp be the running time of that buffer
and counting from there.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=654434
2011-08-25 14:16:48 +02:00
Wim Taymans
6854f2bbf1 multichannel: add some more channels 2011-08-24 18:39:47 +02:00
Wim Taymans
24ea19935f audio/video: add format of the pack functions
Replace the unpack_size with an unpack_format, which is more descriptive of the
kind of data the unpack function will create.
2011-08-24 16:40:43 +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
Wim Taymans
1bb83435fd video: Add an id to the video frame
Rename @view_id to @id.
Add an id to the video metadata. Add a method to get the metadata from a buffer
with the given id.
Make a method to map a frame with a certain id. This only maps the frame with
the given id on the video metadata. The generic frame id can be used when a
buffer carries multiple video frames such as in multiview mode but maybe also
when dealing with interlaced video that stores the fields in separate buffers.
2011-08-24 13:52:20 +02:00
Wim Taymans
e78b66f5a3 video: fix chroma-site enums 2011-08-23 20:34:24 +02:00
Wim Taymans
14ad322e8b video: avoid gst-indent breaking the code 2011-08-23 19:23:03 +02:00
Wim Taymans
76c4bef932 video: fix docs 2011-08-23 19:04:34 +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
c6758ecfa9 audio: move function to convert 2011-08-22 16:11:27 +02:00
Wim Taymans
00a30b5cfd video: parse number of views
Parse the number of views in multiview video buffers.
2011-08-22 15:57:30 +02:00
Wim Taymans
3fab57b5cf Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/interfaces/videooverlay.c
	gst-libs/gst/rtp/gstrtpbuffer.c
	po/af.po
	po/az.po
	po/bg.po
	po/ca.po
	po/cs.po
	po/da.po
	po/de.po
	po/el.po
	po/en_GB.po
	po/es.po
	po/eu.po
	po/fi.po
	po/fr.po
	po/gl.po
	po/hu.po
	po/id.po
	po/it.po
	po/ja.po
	po/lt.po
	po/lv.po
	po/nb.po
	po/nl.po
	po/or.po
	po/pl.po
	po/pt_BR.po
	po/ro.po
	po/ru.po
	po/sk.po
	po/sl.po
	po/sq.po
	po/sr.po
	po/sv.po
	po/tr.po
	po/uk.po
	po/vi.po
	po/zh_CN.po
2011-08-22 13:06:27 +02:00
Wim Taymans
c81c62d03a fourcc: remove fourcc
Remove fourcc in caps.
Fix pbutils descriptions.
Add more video macros
Fix some unit test
2011-08-22 12:22:02 +02:00
Stefan Kost
54c15acd11 docs: fix xref for the property 2011-08-20 19:46:31 +02:00
Stefan Kost
01bbdd6bdf docs: handle warnings emitted by gtk-doc
This is useful and in most cases someone had put arbitrary markup into the docs,
misspelled xref'ed symbols, forgot to add stuff to the docs etc..
2011-08-20 19:16:42 +02:00
Stefan Kost
1662384779 docs: add new taglicense docs and clean them up
Avoid ugly docbook tags unless needed.
2011-08-20 14:14:54 +02:00
Tim-Philipp Müller
6b4064510a tag: fix distcheck issue
Dist licenses dict.
2011-08-20 12:36:20 +01: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
5e90085ca2 riff: port to new audio caps 2011-08-19 16:01:08 +02:00
Wim Taymans
7db6fa37b4 audio: add function to build audio format 2011-08-19 16:00:33 +02:00
Wim Taymans
17dd31b0f4 audio: add more macros 2011-08-19 14:03:23 +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
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
Wim Taymans
d1a83d7a41 baseaudiosrc: chain up to parent in fixate 2011-08-17 17:24:35 +02:00
Wim Taymans
ba1ca45eda video: add some more macros 2011-08-17 17:18:02 +02:00
Wim Taymans
d3b93e839a tagdemux: port to 0.11 2011-08-17 10:57:52 +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
d6740006d4 audio: remove deprecated methods 2011-08-16 16:59:15 +02:00
Tim-Philipp Müller
6d875c5ccd tag: id3: avoid some more relocations in genre table 2011-08-16 12:27:25 +01:00
Alessandro Decina
22cc529409 rtspconnection: add OSX specific hack to detect when a connection is refused
Unlike linux, OSX wakes up select with POLLOUT (instead of POLLERR) when
connect() is done async and the connection is refused. Therefore always check
for the socket error state using getsockopt (..., SO_ERROR, ...) after a
connection attempt.
2011-08-15 23:46:53 +02:00
Wim Taymans
e904c529e3 fix for _negotiated_caps() change 2011-08-15 12:18:15 +02:00
Tim-Philipp Müller
685eb3b954 tag: id3v2: add specs to git for reference 2011-08-15 00:10:35 +01:00
Tim-Philipp Müller
169c5033f0 tag: id3v2: avoid some relocations, make table static 2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
f25c715104 tag: id3v2: add debug category for ID3 tag parsing 2011-08-15 00:10:34 +01:00
Mark Nauwelaerts
08e6b5c54e tag: id3v2: add id3v2 tag parsing helpers
https://bugzilla.gnome.org/show_bug.cgi?id=654388
2011-08-15 00:10:34 +01:00
Stefan Kost
4f042aeb1a tag: id3v2: return ID3TAGS_BROKEN_TAG for unsupported versions
This prevents us for trying to work with a NULL taglist.
2011-08-15 00:10:34 +01:00
Erich Schubert
afe6ee7f3c tag: id3v2: fix parsing of ID3v2.4 genre frames with multiple genres
We'd only extract the first genre (multiple times) instead of all
genres.

https://bugzilla.gnome.org/show_bug.cgi?id=638535
2011-08-15 00:10:34 +01:00
Edward Hervey
d2cec9e102 tag: id3v2: Sanitize id3 frame names
This is similar to what is done in qtdemux. Avoids providing invalid
structure/tags names
2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
366ed8edb4 tag: id3v2: fix parsing of unsynced frames with data length indicator
Fixes bug #614158.
2011-08-15 00:10:34 +01:00
Benjamin Otte
50a6cb5450 Add -Wwrite-strings to the configure flags
... and fix all warnings
2011-08-15 00:10:34 +01:00
Tim-Philipp Müller
e4752b52b8 tag: id3v2: prefer two letter ISO 639-1 code for extended comment 2011-08-15 00:10:34 +01:00
Josep Torra
ad10b0185a tag: id3v2: fixes warnings building on macosx
Another round on the formating of that debug line.
2011-08-15 00:10:33 +01:00
Stefan Kost
aa6ff34c57 tag: id3v2: cast pointer math results to glong 2011-08-15 00:10:33 +01:00
Stefan Kost
dd3826a3a6 tag: id3v2: don't cast, but use the right format specified instead
This correct some of the previous macos fixes.
2011-08-15 00:10:33 +01:00
Josep Torra
67fabdb461 tag: id3v2: fix printf warnings on macosx 2011-08-15 00:10:33 +01:00
Stefan Kost
ed05fcfb2c tag: id3v2: fprintf, sprintf, sscanf need stdio.h 2011-08-15 00:10:33 +01:00
Alessandro Decina
4a885b094f tag: id3v2: Fix compile warnings with gcc 4.0.1. 2011-08-15 00:10:33 +01:00
LoneStar
687055c852 tag: id3v2: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8
Fixes bug #499242.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
09b26dbf5c tag: id3v2: sizes in ID3 v2.3 are unlikely to be sync-safe integers
In ID3 v2.3 compressed frames will have a 4-byte data length indicator
after the frame header to indicate the size of the decompressed data.
This integer is unlikely to be a sync-safe integer for v2.3 tags,
only in v2.4 it's sync-safe.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
891ed455e7 tag: id3v2: fix typo in debug message 2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
c2c21806ba tag: id3v2: fix parsing of unsync'ed ID3 v2.4 tags and frames
Reversing the unsynchronisation seems to work slightly differently
for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
sizes in the frame header, so the unsynchronisation is applied to
the whole frame data including all the frame headers. v2.4 frames
have sync-safe sizes, however, so the unsynchronisation only needs
to be applied to the actual frame data, and it seems that's what's
being done as well. So we need to undo the unsynchronisation on a
per-frame basis for v2.4 tags for things to work properly.

Fixes extraction of coverart/images from APIC frames in ID3 v2.4
tags (#588148).

Add unit test for this as well.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
941d5080fa tag: id3v2: parse unsynchronised tags properly
We didn't handle unsynchronization at all up to now, which might have
caused frames to not be extracted - esp. frames after an APIC picture
frame. Fixes #577468.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
bd738166a7 tag: id3v2: pass the right size value for size of all frames to the parser
Frame data size is tag size adjusted for size of the tag header and
footer, not tag size including header and footer.
2011-08-15 00:10:32 +01:00
Tim-Philipp Müller
a91620dbdf tag: id3v2: Use new utility functions in libgsttag to process coverart (#512333).
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Use new utility functions in libgsttag to process coverart (#512333).
2011-08-15 00:10:32 +01:00
Jan Schmidt
904051e9d4 tag: id3v2: Generate the image-type values correctly. Leave them out of the caps when outputting a "preview image" tag, since it ...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Generate the image-type values correctly. Leave them out of the caps
when outputting a "preview image" tag, since it only makes sense
to have one of those - the type is irrelevant.
* sys/sunaudio/gstsunaudiomixerctrl.c:
(gst_sunaudiomixer_ctrl_open):
If we can, mark the mixer multiple open when we use it, in case
(for some reason) the process wants to open it again elsewhere.
2011-08-15 00:10:32 +01:00
Tommi Myöhänen
6d7fcfbcde tag: id3v2: Make sure the ISO 639-X language code in ID3v2 COMM frames so we don't end up with non-UT...
Original commit message from CVS:
Based on patch by: Tommi Myöhänen <ext-tommi.myohanen nokia com>
* gst-libs/gst/tag/id3v2frames.c: (parse_comment_frame):
Make sure the ISO 639-X language code in ID3v2 COMM frames
is actually valid UTF-8 (or rather: ASCII), so we don't end
up with non-UTF8 strings in tags if there's garbage in the
language field. Also make sure the language code is always
lower case. Fixes: #508291.
2011-08-15 00:10:31 +01:00
Tim-Philipp Müller
d4b43861a2 tag: id3v2: Parse WOAF frames and put the result into GST_TAG_CONTACT, which is where it would end up...
Original commit message from CVS:
* tag: id3v2: (parse_url_link_frame):
Parse WOAF frames and put the result into GST_TAG_CONTACT,
which is where it would end up if the same information was
put in a vorbis comment (don't think it's worth adding a
new URI tag for this). Fixes #488112.
2011-08-15 00:10:31 +01:00
Tim-Philipp Müller
1dd5350109 tag: id3v2: We don't want the same string multiple times in a tag list for the same tag ever, for any tag, not jus...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
We don't want the same string multiple times in a tag list for the
same tag ever, for any tag, not just for GST_TAG_GENRE, so make sure
this doesn't happen and remove special-case code for GST_TAG_GENRE.
2011-08-15 00:10:31 +01:00
Jason Kivlighn
66c4980024 tag: id3v2: Extract license/copyright URIs from ID3v2 WCOP frames (Fixes #447000).
Original commit message from CVS:
Based on patch by: Jason Kivlighn  <jkivlighn gmail com>
* gst-libs/gst/tag/id3v2frames.c:
Extract license/copyright URIs from ID3v2 WCOP frames
(Fixes #447000).
* tests/check/elements/id3demux.c:
* tests/files/Makefile.am:
* tests/files/id3-447000-wcop.tag:
Add simple unit test.
2011-08-15 00:10:31 +01:00
Tim-Philipp Müller
2ff93c3826 tag: id3v2: Port ID3 tag demuxer over to the new GstTagDemux in -base (now would be a good time to test re-importi...
Original commit message from CVS:
* gst-libs/gst/tag/gstid3demux.c:
* gst-libs/gst/tag/gstid3demux.h:
* gst-libs/gst/tag/id3v2.c:
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/id3v2frames.c:
Port ID3 tag demuxer over to the new GstTagDemux in -base
(now would be a good time to test re-importing your music
collection).
2011-08-15 00:10:31 +01:00
Tim-Philipp Müller
0277ee0b79 tag: id3v2: Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is the image format a vari...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is
the image format a variable-length NUL-terminated string; in
versions before that the image format is a fixed-length string of
3 characters (see #348644 for a sample tag).
Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'.
2011-08-15 00:10:31 +01:00
Tim-Philipp Müller
c76c78670d tag: id3v2: Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the four-digit number will be interp...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_obsolete_tdat_frame):
Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise
the four-digit number will be interpreted as a year, whereas it is
month and day in DDMM format. Instead, parse TDAT frames and fix up
the date in the GST_TAG_DATE tag later if we also extracted a year.
Fixes #407349.
2011-08-15 00:10:30 +01:00
René Stadler
763eea481e tag: id3v2: Make sure that g_free always gets called on the same pointer that was returned by g_mallo...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
Make sure that g_free always gets called on the same pointer that was
returned by g_malloc.  Fixes #376594.
Do not leak memory if decompressed size is wrong.
Remove unneeded check of return value of g_malloc.
Patch by: René Stadler <mail@renestadler.de>
2011-08-15 00:10:30 +01:00
Tim-Philipp Müller
07feb53dbd tag: id3v2: We require a -base more recent than 0.10.9, so it's safe to use
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
We require a -base more recent than 0.10.9, so it's safe to use
GST_TYPE_TAG_IMAGE_TYPE unconditionally now.
* ext/dv/gstdvdec.c: (gst_dvdec_sink_event):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_sink_event):
Use _newsegment_full() now that we depend on a recent enough core.
* gst/wavparse/gstwavparse.c:
Remove cruft that we don't need any longer now that we depend on
a recent enough -base.
2011-08-15 00:10:30 +01:00
Tim-Philipp Müller
bac37d9917 tag: id3v2: Printf format fixes.
Original commit message from CVS:
* ext/cairo/gsttimeoverlay.c:
(gst_cairo_time_overlay_update_font_height):
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
* ext/jpeg/gstsmokedec.c: (gst_smokedec_chain):
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain):
* ext/libpng/gstpngdec.c: (user_endrow_callback):
* gst/auparse/gstauparse.c: (gst_au_parse_parse_header):
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_data):
* gst/cutter/gstcutter.c: (gst_cutter_chain):
* gst/debug/efence.c: (gst_efence_buffer_alloc),
(gst_fenced_buffer_copy):
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start):
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send),
(gst_rtspsrc_handle_message):
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
* sys/ximage/ximageutil.c: (ximageutil_xcontext_get):
Printf format fixes.
2011-08-15 00:10:30 +01:00
Jan Schmidt
8bdde43777 tag: id3v2: If strings in text fields are marked ISO8859-1, but contain valid UTF-8 already, then han...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_text_identification_frame),
(parse_insert_string_field):
If strings in text fields are marked ISO8859-1, but contain
valid UTF-8 already, then handle them as UTF-8 and ignore
the encoding. (#351794)
2011-08-15 00:10:30 +01:00
Tim-Philipp Müller
075ceac5e7 configure.ac: Require CVS of GStreamer core and -base (for
Original commit message from CVS:
* configure.ac:
Require CVS of GStreamer core and -base (for
GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()).
* ext/taglib/gstid3v2mux.cc:
Write extended comment tags properly (#348762).
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_comment_frame):
Extract COMM frames into extended comments, which makes it
easier to properly retain the description bit of the tag
and maintain this information when re-tagging (#348762).
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
2444a6459b tag: id3v2: Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well, and add the version to...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
(id3demux_add_id3v2_frame_blob_to_taglist):
Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as
well, and add the version to the blob's buffer caps, since that
information will be needed for deserialisation later on (#348644).
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
3f1bc48d0b tag: id3v2: On second thought, it might be wiser and more efficient not to do tag registration from a streaming th...
Original commit message from CVS:
* gst-libs/gst/tag/gstid3demux.c: (plugin_init):
* gst-libs/gst/tag/id3v2.c:
(id3demux_add_id3v2_frame_blob_to_taglist):
* gst-libs/gst/tag/id3v2.h:
On second thought, it might be wiser and more efficient
not to do tag registration from a streaming thread.
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
ba3a9d3b9d tag: id3v2: Put ID3v2 frames we can't parse as binary blobs into private tags, so that they are not lost ...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
(id3demux_add_id3v2_frame_blob_to_taglist),
(id3demux_id3v2_frames_to_tag_list):
Put ID3v2 frames we can't parse as binary blobs into private
tags, so that they are not lost when retagging, at least once
id3v2mux has been taught to re-inject those frames again.
See bug #334375.
2011-08-15 00:10:29 +01:00
Wim Taymans
488a625bb4 tag: id3v2: Don't use \n in debug lines
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry):
Fix some leaks.
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
Don't use \n in debug lines.
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
f0a1b71dfe tag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Set image type from APIC frame as "image-type" field
of GST_TAG_IMAGE buffer caps (#344605).
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
1cc10b3611 tag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(scan_encoded_string), (parse_picture_frame):
Extract images from ID3v2 tags (APIC frames). Fixes #339704.
* configure.ac:
Require core >= 0.10.8 (for GST_TAG_IMAGE and
GST_TAG_PPEVIEW_IMAGE used in the patch above).
2011-08-15 00:10:29 +01:00
Tim-Philipp Müller
6f5e16f4ba tag: id3v2: A track/volume number or count of 0 does not make sense, just ignore it along with negati...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
A track/volume number or count of 0 does not make sense,
just ignore it along with negative numbers (a tag might
only contain a track count without a track number).
2011-08-15 00:10:28 +01:00
Jan Schmidt
7e7ee7278b tag: id3v2: Don't output any tag when we encounter a negative track number - the tag type is uint, so...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
Don't output any tag when we encounter a negative track number - the
tag type is uint, so we end up outputting huge positive numbers
instead. (Fixes: #342029)
2011-08-15 00:10:28 +01:00
Jan Schmidt
5b67108b7d tag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one ...
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_find_best):
Make the name of the child element be based on the name of the
parent, so that debug output is more useful.
* gst-libs/gst/tag/id3v2frames.c: (find_utf16_bom),
(parse_insert_string_field), (parse_split_strings):
Rework string parsing to always walk over BOM markers in UTF16
strings, using the endianness indicated by the innermost one,
then trying the opposite endianness if that fails to convert
to valid UTF-8. Fixes #341774
2011-08-15 00:10:28 +01:00
Tim-Philipp Müller
2fd7d6c3eb tag: id3v2: Some more debug info. No need to check whether the string returned by g_convert() is real...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_insert_string_field):
Some more debug info. No need to check whether the string
returned by g_convert() is really UTF-8 - either it is or
we get NULL returned.
2011-08-15 00:10:28 +01:00
Jan Schmidt
9f4827af39 tag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only try and parse st...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Fix parsing of numeric genre strings some more, by ensuring that
we only try and parse strings that a) Start with '(' and b) Consist
only of digits.
Also, when finding an escaping '((' sequence, bust it back to '(' by
swallowing the first parenthesis
2011-08-15 00:10:28 +01:00
Tim-Philipp Müller
1b885bafba tag: id3v2: Recognise and skip any byte order marker (BOM) in
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (has_utf16_bom),
(parse_split_strings):
Recognise and skip any byte order marker (BOM) in
UTF-16 strings.
2011-08-15 00:10:28 +01:00
Alex Lancaster
e3aa8b3163 tag: id3v2: Recognise TCO (Genre) tags in ID3v2.2
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
Recognise TCO (Genre) tags in ID3v2.2. Patch by Alex Lancaster
(Fixes #338713)
2011-08-15 00:10:27 +01:00
Sébastien Moutte
571d8f9d86 tag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32
Original commit message from CVS:
* ext\jpeg\smokecodec.c:
use of GST_DEBUG instead of DEBUG(a...) for WIN32
* ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
move first instruction after all variables declarations
* gst\alpha\gstalpha.c:
* gst\effectv\gstshagadelic.c:
* gst\smpte\paint.c:
* gst\videofilter\gstvideobalance.c:
define M_PI if it's not defined (it's not defined on WIN32)
* gst\cutter\gstcutter.c: (gst_cutter_chain):
* gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
* gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
* gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
(gst_matroska_demux_video_caps):
* gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
* gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
use gst_guint64_to_gdouble for conversions
* gst\goom\filters.c: (setPixelRGB_):
fix a debug which was using undefined variable
* gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
* gst\matroska\ebml-read.c: (gst_ebml_read_sint):
replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
* win32/vs6:
add vs6 projects files for most of plugins-good
2011-08-15 00:10:27 +01:00
Jan Schmidt
a2e391cb68 tag: id3v2: Don't attempt typefinding on too-short buffers that have been completely trimmed away.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_chain):
Don't attempt typefinding on too-short buffers that have been
completely trimmed away.
* gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
Improve the debug output
2011-08-15 00:10:27 +01:00
Tim-Philipp Müller
17be9f715b tag: id3v2: We only care about gain and peak data for the master volume.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c:
(parse_relative_volume_adjustment_two):
We only care about gain and peak data for the master volume.
2011-08-15 00:10:27 +01:00
Tim-Philipp Müller
84cc22cacc tag: id3v2: Read replay gain tags
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_id_string), (parse_unique_file_identifier),
(parse_relative_volume_adjustment_two), (id3v2_tag_to_taglist):
Read replay gain tags (#323721).
2011-08-15 00:10:27 +01:00
Tim-Philipp Müller
d8900f72b5 configure.ac: Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(), used by id3demux.
Original commit message from CVS:
* configure.ac:
Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(),
used by id3demux.
* gst-libs/gst/tag/gstid3demux.c: (plugin_init):
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_user_text_identification_frame),
(parse_unique_file_identifier):
Add support for UFID and TXXX frames and extract musicbrainz tags.
2011-08-15 00:10:27 +01:00
Jan Schmidt
dbcf8fc320 tag: id3v2: Handle 0 data size in otherwise valid frames.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
* gst-libs/gst/tag/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Handle 0 data size in otherwise valid frames.
Handle numeric strings in 2.4.0 even when not in parentheses
2011-08-15 00:10:27 +01:00
Jan Schmidt
e4af0fe41f tag: id3v2: 3 2.3.0 used synch-safe integers for the tag size, but not for the frame size. (Fixes #331368)
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
ID3 2.3.0 used synch-safe integers for the tag size, but not for the
frame size. (Fixes #331368)
2011-08-15 00:10:27 +01:00
Jan Schmidt
dc5506d372 tag: id3v2: Add more validation to ensure that a char encoding conversion produced a valid UTF-8 string.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_insert_string_field),
(parse_split_strings):
Add more validation to ensure that a char encoding conversion
produced a valid UTF-8 string.
2011-08-15 00:10:27 +01:00
Jan Schmidt
05a5fd1e51 tag: id3v2: Adjust for data length indicators when parsing (Fixes #329810)
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_split_strings):
Adjust for data length indicators when parsing (Fixes #329810)
Fix stupid bug parsing UTF-8 tag text.
Output tag strings with multiple fields as multiple tags, so the
app gets all the data.
2011-08-15 00:10:27 +01:00
Jan Schmidt
207f8e9f23 tag: id3v2: Never output a tag with a null contents string.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_genre_string_to_taglist),
(id3v2_genre_fields_to_taglist):
Never output a tag with a null contents string.
2011-08-15 00:10:26 +01:00
Jan Schmidt
78aa922244 tag: id3v2: Someone should kick my butt. Remove ID3v1 tags from the end of the file.
Original commit message from CVS:

* gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_chain),
(gst_id3demux_read_id3v1), (gst_id3demux_sink_activate),
(gst_id3demux_send_tag_event):
* gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v1_tag):
Someone should kick my butt. Remove ID3v1 tags from the end of the
file.

Improve error messages. Send the TAG message as soon as we complete
typefinding, instead of waiting until we send the first buffer.
Downstream tag event is still sent before the first buffer.
2011-08-15 00:10:26 +01:00
Jan Schmidt
fbd1cbe006 tag: id3v2: Never trust ANY information encoded in a media file, especially when it's giving you size...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
Never trust ANY information encoded in a media file, especially
when it's giving you sizes. (Fixes #328452)
2011-08-15 00:10:26 +01:00
Jan Schmidt
3a91d17b76 tag: id3v2: Remove errant break statement, and fix compilation with older GCC.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
Remove errant break statement, and fix compilation with
older GCC.
2011-08-15 00:10:26 +01:00
Jan Schmidt
a6f7ebffa2 tag: id3v2: Rewrite parsing of text tags to handle multiple NULL terminated strings. Parse numeric genre strings a...
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_comment_frame), (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_are_digits),
(id3v2_genre_string_to_taglist), (id3v2_genre_fields_to_taglist),
(parse_split_strings), (free_tag_strings):
Rewrite parsing of text tags to handle multiple NULL terminated
strings. Parse numeric genre strings and ID3v2 type
"(3)(6)Alternative" style genre strings.
Parse dates that are only YYYY or YYYY-mm format.
2011-08-15 00:10:26 +01:00
Sergey Scobich
a9c6822e3f tag: id3v2: Fix compilation of id3demux when zlib is not present.
Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
Fix compilation of id3demux when zlib is not present.
(Fixes #326602; patch by: Sergey Scobich)
2011-08-15 00:10:25 +01:00
Edward Hervey
f34424e933 tag: id3v2: Add gst_element_no_more_pads() for proper decodebin behaviour.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_add_srcpad):
Add gst_element_no_more_pads() for proper decodebin behaviour.
* gst-libs/gst/tag/id3v2frames.c: (parse_comment_frame),
(parse_text_identification_frame), (parse_split_strings):
Failure to decode some tags is not a GST_ERROR() but a
GST_WARNING()
When iterating over a chunk of text, check that we haven't gone too
far.
2011-08-15 00:10:25 +01:00
Jan Schmidt
a2415c8edb tag: id3v2: If a broken tag has 0 bytes payload, at least still skip the 10 byte header
Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
If a broken tag has 0 bytes payload, at least still skip
the 10 byte header
2011-08-15 00:10:25 +01:00
Jan Schmidt
83bffb642c tag: id3v2: all new LGPL id3 demuxer, can use zlib for compressed frames
Original commit message from CVS:
* configure.ac:
Check for optional dependency on zlib for id3demux

* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstid3demux.c: (gst_gst_id3demux_get_type),
(gst_id3demux_base_init), (gst_id3demux_class_init),
(gst_id3demux_reset), (gst_id3demux_init), (gst_id3demux_dispose),
(gst_id3demux_add_srcpad), (gst_id3demux_remove_srcpad),
(gst_id3demux_trim_buffer), (gst_id3demux_chain),
(gst_id3demux_set_property), (gst_id3demux_get_property),
(id3demux_get_upstream_size), (gst_id3demux_srcpad_event),
(gst_id3demux_read_id3v1), (gst_id3demux_read_id3v2),
(gst_id3demux_sink_activate), (gst_id3demux_src_activate_pull),
(gst_id3demux_src_checkgetrange), (gst_id3demux_read_range),
(gst_id3demux_src_getrange), (gst_id3demux_change_state),
(gst_id3demux_pad_query), (gst_id3demux_get_query_types),
(simple_find_peek), (simple_find_suggest),
(gst_id3demux_do_typefind), (gst_id3demux_send_tag_event),
(plugin_init):
* gst-libs/gst/tag/gstid3demux.h:
* gst-libs/gst/tag/id3v2.c: (read_synch_uint),
(id3demux_read_id3v1_tag), (id3demux_read_id3v2_tag),
(id3demux_id3v2_frame_hdr_size), (convert_fid_to_v240),
(id3demux_id3v2_frames_to_tag_list):
* gst-libs/gst/tag/id3v2.h:
* gst-libs/gst/tag/id3v2.4.0-frames.txt:
* gst-libs/gst/tag/id3v2.4.0-structure.txt:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_comment_frame), (parse_text_identification_frame),
(id3v2_tag_to_taglist), (parse_split_strings):
All new LGPL id3 demuxer. Can use zlib for compressed frames,
otherwise it discards them. Works on my test files.

* gst/wavparse/gstwavparse.c: (gst_wavparse_loop):
Don't send EOS to a non-existing srcpad
The debug category can be static
2011-08-15 00:09:53 +01:00
Thiago Santos
72b92af807 tag: exif: Check for utf8 before trying to convert
If the string is already on utf8, there is no need to
try to convert it, because it is useless and it might garble
the string.
2011-08-11 12:12:07 -03:00
Thiago Santos
cd46e0ca13 tag: exif: Exif strings should be ascii
Use g_convert to turn all strings into extended ascii before writing
to the exif buffer and converting back from ascii to utf8 when
reading them.
2011-08-10 17:46:01 -03:00
Tim-Philipp Müller
7c1fef18ac tag: don't build helper programs that generate/update data by default
No point building these by default. Also, these generated files
should go into the srcdir, not the builddir in this case, since
they're version controlled.
2011-08-10 15:22:46 +01:00
Tim-Philipp Müller
3b2b96bc56 tag: fix stray printf in mklicensestables
Don't dump debug output to stdout.
2011-08-10 15:20:37 +01:00
Tim-Philipp Müller
12ab3c9204 tag: fix compilation of new licenses code with GLib versions < 2.28
Add local g_variant_lookup_value() fallback for now when compiling
against older GLib versions.
2011-08-10 15:06:59 +01:00
Tim-Philipp Müller
3e34c2da1c tag: add GType for GstTagLicenseFlags
API: gst_tag_license_flags_get_type()
2011-08-10 14:57:14 +01:00
Tim-Philipp Müller
2d1ffa68a9 xmptag: fix compiler warning in release mode
Fix compiler warning caused by g_assert_not_reached() being skipped
because releases are compiled with -DG_DISABLE_ASSERT.

https://bugzilla.gnome.org/show_bug.cgi?id=656264
2011-08-10 11:08:29 +01:00
Tim-Philipp Müller
25f8f6453e tag: add mklicensestables utility
Add (uninstalled) tool to create licenses-table.dat from liblicense's
RDF files. It's not very pretty and makes loats of assumptions about
the input, but should work. If things change, we can fix it then.

https://bugzilla.gnome.org/show_bug.cgi?id=646868
2011-08-10 10:34:20 +01:00
Tim-Philipp Müller
c4bab487e7 tag: add convenience API to handle creative commons licenses
Based on liblicense's RDF files.

API: GstTagLicenseFlags
API: gst_tag_get_licenses()
API: gst_tag_get_license_flags()
API: gst_tag_get_license_nick()
API: gst_tag_get_license_title()
API: gst_tag_get_license_version()
API: gst_tag_get_license_description()
API: gst_tag_get_license_jurisdiction()

https://bugzilla.gnome.org/show_bug.cgi?id=646868
2011-08-10 10:33:47 +01: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
Tim-Philipp Müller
301bd8b0bf videooverlay: add convenience API to check if a message is a prepare-window-handle message
API: gst_is_video_overlay_prepare_window_handle_message()
2011-08-08 14:41:17 +01:00
Tim-Philipp Müller
fd448502b9 interfaces: rename GstXOverlay interface to GstVideoOverlay
And remove deprecated methods, and fix up some cruft.
2011-08-08 14:12:15 +01:00
Vincent Penquerc'h
c87f164eff gstvorbistag: map ENCODER Vorbis comment to application-name
What GStreamer calls encoder ("encoder used to encode this stream") is
stored in the vendor string in Vorbis/Theora/Kate and possibly others.
The Vorbis comment packet used in those streams uses ENCODER as the name
of the encoding program, which GStreamer calls application-name.

https://bugzilla.gnome.org/show_bug.cgi?id=656034
2011-08-06 18:36:00 +02:00
Wim Taymans
86a10fbb9f baseaudiosrc: call parent alloc function
Call the parent alloc function to allocate buffers.
2011-08-04 18:08:49 +02:00
Wim Taymans
26c9db9280 video: improve debug 2011-08-04 15:18:03 +02:00
Jens Georg
fe17585568 pbutils: Add SP levels 4a, 5 and 6
https://bugzilla.gnome.org/show_bug.cgi?id=655503
2011-08-03 10:05:51 +02:00
Wim Taymans
6b8617271c video: ensure sign in scale function 2011-08-01 16:50:28 +02:00
Wim Taymans
d634b3e6d9 videopool: add implementation
Rename very long structure name to GstVideoAlignment
Add the implementation of the video alignment config setter and getters.
2011-08-01 16:48:46 +02:00
Wim Taymans
cfea7a74fd videopool: add stuff related to bufferpools
Add bufferpool options and extra config parameters.
2011-07-29 17:14:07 +02:00
Wim Taymans
42b49f6b0e video: add macro to access flags 2011-07-29 12:25:13 +02:00
Tim-Philipp Müller
e161334988 Add new GstTagMux base class
Hook up new tag muxing base class to build system.

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

API: GstTagMux
2011-07-29 10:26:07 +01:00
Tim-Philipp Müller
b83c7e0a0e docs: add documentation for GstTagMux 2011-07-29 10:26:07 +01:00
Tim-Philipp Müller
2633692072 tagmux: require subclass to install sink pad template
Require the subclass to install both source and sink pad
templates. Also, print some warnings if the subclass doesn't
do that.

https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-29 10:26:07 +01:00
Tim-Philipp Müller
9f0745bab4 tagmux: const-ify GstTagList argument of render vfuncs 2011-07-29 10:26:07 +01:00
Tim-Philipp Müller
db88b19f1e tagmux: fix up private base class header so it can be made public
Move private bits into a private struct, add some padding.

https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-29 10:26:06 +01:00
Michael Smith
e16f2f891a tagmux: add support for end tags
Originally "id3tag: Add new id3 tagging plugin, supports v1, v2.3,
and v2.4." from gst-plugins-bad. This is an artificial bridge commit.
2011-07-29 10:26:06 +01:00
Sebastian Dröge
b567db4155 ext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs 2011-07-29 10:26:06 +01:00
Julien Moutte
992cf09a5a Fix build on Mac OS X 10.5
Original commit message from CVS:
2007-11-20  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/tag/gsttagmux.c: (gst_tag_lib_mux_render_tag),
(gst_tag_lib_mux_adjust_event_offsets):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_theora_extension):
* sys/osxaudio/Makefile.am:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m: Fix build on Mac OS X 10.5
2011-07-29 10:26:06 +01:00
Sebastian Dröge
dcfd4027a4 Update my mail address.
Original commit message from CVS:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstapev2mux.h:
* gst-libs/gst/tag/gsttagmux.c:
* tests/check/elements/apev2mux.c:
Update my mail address.
2011-07-29 10:26:06 +01:00
Sebastian Dröge
b303e8e19e Add apev2mux element (#343122).
Original commit message from CVS:
Patch by: Sebastian Dröge  <mail at slomosnail de >
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* ext/taglib/Makefile.am:
* ext/taglib/gstapev2mux.cc:
* ext/taglib/gstapev2mux.h:
* ext/taglib/gstid3v2mux.cc:
* gst-libs/gst/tag/gsttagmux.c: (plugin_init):
* gst-libs/gst/tag/gsttagmux.h:
Add apev2mux element (#343122).
* tests/check/Makefile.am:
* tests/check/elements/apev2mux.c:
(test_taglib_apev2mux_create_tags),
(test_taglib_apev2mux_check_tags), (fill_mp3_buffer), (got_buffer),
(demux_pad_added), (test_taglib_apev2mux_check_output_buffer),
(test_taglib_apev2mux_with_tags), (GST_START_TEST),
(apev2mux_suite), (main):
Add unit test for apev2mux element.
2011-07-29 10:26:06 +01:00
James Doc Livingston
e286dcec81 gst-libs/gst/tag/gsttagmux.c: Merge event tags and tag setter tags
correctly (#339918). Also, don't leak taglist in case...

Original commit message from CVS:
Patch by: James "Doc" Livingston  <doclivingston gmail com>
* gst-libs/gst/tag/gsttagmux.c: (gst_tag_lib_mux_render_tag):
Merge event tags and tag setter tags correctly (#339918). Also,
don't leak taglist in case of an error.
2011-07-29 10:26:06 +01:00
Thomas Vander Stichele
87e56b7713 docs/plugins/Makefile.am: also check .cc files for gtk-doc markup
Original commit message from CVS:

* docs/plugins/Makefile.am:
also check .cc files for gtk-doc markup
* configure.ac:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* tests/check/Makefile.am:
* tests/check/elements/id3v2mux.c: (id3v2mux_suite), (main):
* ext/Makefile.am:
* ext/taglib/Makefile.am:
* ext/taglib/gstid3v2mux.h:
* gst-libs/gst/tag/gsttagmux.c:
* gst-libs/gst/tag/gsttagmux.h:
move taglib-based id3v2muxer to -good.  Fixes #336110.
2011-07-29 10:26:06 +01:00
Thomas Vander Stichele
400dc037fd small cleanups
Original commit message from CVS:
small cleanups
2011-07-29 10:26:06 +01:00
Tim-Philipp Müller
7ef4528676 ext/taglib/gsttaglib.cc: Post an error message on the bus in the
(extremely unlikely) case of an error.

Original commit message from CVS:
* ext/taglib/gsttaglib.cc:
Post an error message on the bus in the (extremely unlikely)
case of an error.
2011-07-29 10:26:06 +01:00
Tim-Philipp Müller
873f24298f ext/taglib/: Split the actual ID3v2 tag rendering code into its own
subclass.

Original commit message from CVS:
* ext/taglib/Makefile.am:
* ext/taglib/gstid3v2mux.cc:
* ext/taglib/gstid3v2mux.h:
* ext/taglib/gsttaglib.cc:
* ext/taglib/gsttaglib.h:
Split the actual ID3v2 tag rendering code into
its own subclass.
2011-07-29 10:26:06 +01:00
Thomas Vander Stichele
4ee80726bd pedantic cleanups
Original commit message from CVS:
pedantic cleanups
2011-07-29 10:26:06 +01:00
Thomas Vander Stichele
3446b35424 add taglib checks and docs
Original commit message from CVS:
add taglib checks and docs
2011-07-29 10:26:06 +01:00
Tim-Philipp Müller
4a3ff452dd ext/taglib/gsttaglib.*: Fix newsegment event handling a bit. We need
to cache the first newsegment event, because we ...

Original commit message from CVS:
* ext/taglib/gsttaglib.cc:
* ext/taglib/gsttaglib.h:
Fix newsegment event handling a bit. We need to
cache the first newsegment event, because we can't
adjust offsets yet when we get it, as we don't
know the size of the tag yet for sure at that point.
Also do some minor cleaning up here and there and add
some debug statements.
2011-07-29 10:26:05 +01:00
Tim-Philipp Müller
800c145a3a ext/taglib/gsttaglib.cc: We do not want to proxy the caps on the
sink pad; our source pad should have application/x-i...

Original commit message from CVS:
* ext/taglib/gsttaglib.cc:
We do not want to proxy the caps on the sink pad; our
source pad should have application/x-id3 caps; also,
don't use already-freed strings in debug messages;
finally, adjust buffer offsets on buffers sent out.
2011-07-29 10:26:05 +01:00
Tim-Philipp Müller
e17a8554eb ext/taglib/gsttaglib.h: Fix left-over gst_my_filter_get_type.
Original commit message from CVS:
* ext/taglib/gsttaglib.h:
Fix left-over gst_my_filter_get_type.
2011-07-29 10:26:05 +01:00
Tim-Philipp Müller
afbd2e9c5c ext/taglib/gsttaglib.cc: Add gtk-doc blurb (unused for the time
being); match registered plugin name to the filename ...

Original commit message from CVS:
* ext/taglib/gsttaglib.cc:
Add gtk-doc blurb (unused for the time being); match registered
plugin name to the filename of the plugin (taglibmux => taglib)
2011-07-29 10:26:05 +01:00
Tim-Philipp Müller
eca34e3cf9 ext/taglib/: Add support for writing MusicBrainz IDs.
Original commit message from CVS:
* ext/taglib/Makefile.am:
* ext/taglib/gsttaglib.cc:
* ext/taglib/gsttaglib.h:
Add support for writing MusicBrainz IDs.
2011-07-29 10:26:05 +01:00
Alex Lancaster
3352dc437d ext/taglib/gsttaglib.cc: and add support for TCOP (copyright)
Original commit message from CVS:
2006-03-11  Christophe Fergeau  <teuf@gnome.org>

Patch by: Alex Lancaster

* ext/taglib/gsttaglib.cc: fix writing of TPOS tags (album number),
and add support for TCOP (copyright)
2011-07-29 10:26:05 +01:00
Christophe Fergeau
1db1be1df8 new id3v2 muxer based on TagLib
Original commit message from CVS:
2006-03-09  Christophe Fergeau  <teuf@gnome.org>

reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

* configure.ac:
* ext/Makefile.am:
* ext/taglib/Makefile.am:
* ext/taglib/gsttaglib.cc:
* ext/taglib/gsttaglib.h: new id3v2 muxer based on TagLib
2011-07-29 10:26:05 +01:00
Tim-Philipp Müller
c39ad574aa video: make GST_VIDEO_FORMATS_ALL define more readable
We don't need all those quotes, strings will be parsed as strings
regardless, and g-i doesn't seem to like all those escaped quotes.
2011-07-28 13:39:14 +01:00
Stefan Sauer
264d91a502 baseaudiosink: fix latency calculation for live elements
Max_latency was computed on already adjusted min_latency. Introduce a new
variable for clarity. Spotted by Blaise Gassend.
Fixes #644284
2011-07-28 14:31:47 +02:00
Mark Nauwelaerts
68231a645a baseaudiosink: fix max latency calculation
... to allow infinite max, as also claimed by comment.
2011-07-28 12:05:06 +02:00
Mark Nauwelaerts
5d0f279fea baseaudiosink: drop samples that are too late
... rather than having all of them rendered at 0 or subsequently aligned,
likely inevitably leading to repeated resyncing.
2011-07-28 11:47:52 +02:00
Tim-Philipp Müller
3d25fe33ea gst-libs: update for query API changes 2011-07-27 01:16:08 +01:00
Wim Taymans
a3971d2afe baseaudiosink: chain up to parent_class correctly 2011-07-26 12:42:22 +02:00
Wim Taymans
8aea5d34bd baseaudiosink: use new basesink query vmethod 2011-07-26 12:37:04 +02:00
Wim Taymans
37e7d7415e video: add pack and unpack functions
Add pack and unpack function to handle complex formats in the future.
2011-07-25 18:35:01 +02:00
Wim Taymans
68088f7992 video: add more info in the format structure
Add a field to describe how many bits are used to pack items.
Specify the shift for each component.
Add some more flags to better describe the format.
2011-07-25 18:08:24 +02:00
Edward Hervey
c49bc45b1b discoverer: decodebin2 is dead, long live decodebin 2011-07-15 12:32:25 +02:00
Tim-Philipp Müller
1a8b4eae73 docs: add Since marker to gtk-doc chunk for new codec utils API
And add new API to .def file.

API: gst_codec_utils_h264_get_level_idc()
2011-07-14 13:57:10 +01:00
Olivier Crête
5f1bfc7e13 codec-utils: Add method to convert H.264 text level in a level_idc 2011-07-13 14:01:11 -04:00
Wim Taymans
8ede2683df metavideo: fix for API change 2011-07-11 18:21:49 +02:00
Mark Nauwelaerts
40aad050e2 video: init video info to some sensible defaults 2011-07-10 21:47:12 +02:00
Wim Taymans
87e06b6808 video: add macros for par and fps 2011-07-10 13:47:35 +02:00
Mark Nauwelaerts
06557739ab rtcpbuffer: provide a WRITE map with maximum available size
... which allows adding additional packets and may be needed to counteract
the shrink that implicitly occurred during a map/unmap cycle when adding
a previous packet.
2011-07-09 18:23:18 +02: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
7197af583d video: update docs 2011-07-05 16:58:04 +02:00
Tim-Philipp Müller
4bf26ba5d2 Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings 2011-07-05 10:07:08 +01:00
Wim Taymans
4340b80f81 video: add macro to get frame size 2011-07-04 18:08:25 +02:00
Wim Taymans
9b259250a1 video: add some more macros
Add macros to get the plane and offset of a component.
2011-07-04 16:27:50 +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
Thiago Santos
96d2120c2b tag: xmp: Remove extra chars from end of xmp packet
Windows picture viewer is unhappy with extra trailing chars at the
end of the xmppacket footer. So remove them as they aren't needed.
2011-06-29 10:18:23 -03:00
Tim-Philipp Müller
56df7800a0 gst-libs: remove GstImplementsInterface usage
Will need to add replacement API for some of these.
2011-06-26 21:46:08 +01:00
Tim-Philipp Müller
ac6c07a955 Merge remote-tracking branch 'origin/master' into 0.11 2011-06-26 21:27:28 +01:00
Tim-Philipp Müller
114d1525ca interfaces: GstStreamVolume isn't wrapped by GstImplementsInterface
This interface depends on properties and isn't per-instance.
2011-06-26 21:07:52 +01:00
Tim-Philipp Müller
d77991106b rtsp: GstRTSPExtension isn't wrapped by GstImplementsInterface
Fix copy'n'paste error in headers, GstRTSPExtension isn't
something that's per-instance.
2011-06-26 21:07:52 +01:00
Tim-Philipp Müller
bbe23fdee9 tag: GstXmpWriter doesn't use the GstImplementsInterface
No need for per-instance checking of interface implementation here,
presumably just a copy'n'paste issue.
2011-06-26 21:07:52 +01:00
Jonathan Matthew
4073e00839 encoding-target: set names on audio and video profiles
https://bugzilla.gnome.org/show_bug.cgi?id=652342
2011-06-26 15:41:21 +02:00
Wim Taymans
65d2d56f03 meta: add some docs 2011-06-23 09:55:27 +02:00
Wim Taymans
d68f2d4694 meta: add video crop metadata 2011-06-23 09:30:19 +02:00
Wim Taymans
646ffd0dad fix for uri changes 2011-06-22 16:38:48 +02:00
Wim Taymans
1d9deae5be video: add video copy function
Add a function to copy a video frame, taking care of source and destination
strides.
2011-06-22 15:25:35 +02:00
Wim Taymans
a8ffd4e28c rtp: fix for allocator name change 2011-06-22 11:45:58 +02:00
Wim Taymans
a58805216a audio: clean up headers 2011-06-21 18:17:59 +02:00
Wim Taymans
2e837743c3 audio: clean up audiosink headers 2011-06-21 18:13:48 +02:00
Wim Taymans
d9e1e23094 audio: clean up ringbuffer header 2011-06-21 18:08:12 +02:00
Wim Taymans
f372ec1f54 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	docs/plugins/inspect/plugin-gnomevfs.xml
2011-06-21 17:57:56 +02:00
Wim Taymans
296630a959 video: use gint to make parsing easier
Use gint for with/height etc to make it easier to pass the variables to various
caps and structure parsing functions.
2011-06-21 17:31:17 +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
Edward Hervey
b2b1a7be1b discoverer: Allow GError* argument to be NULL
This is how other methods taking GError* arguments behave.

Fixes #652838
2011-06-18 11:16:19 +02:00
Wim Taymans
7426f19027 metavideo: small fixes
Set the buffer as a field in the metadata so that we can use it to map the
buffer data.
Fix wrong assert.
2011-06-17 17:44:56 +02:00
Wim Taymans
20d8d3050c video: use metadata to set up strides
Use the GstMetaVideo when we can to map the buffers and set up the strides.
2011-06-17 16:47:25 +02:00
Wim Taymans
42abb6672e video: Add GstVideoFrame helper structure
The videoframe structure can be used to easily parse the contents of video
buffers.
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
1aa7ad7dae video: rework part 2
Update docs.
Add method to get number of components.
Implement method to calculate defaults from format and dimensions.
Improve caps parsing.
Implement GstVideoInfo to caps conversion.
2011-06-17 15:37:38 +02:00
Wim Taymans
a7ae8d41aa video: rework part 1
Add GstVideoFlags similar to the flags on the metadata. The idea is to replace
the metadata flags with the GstVideoFlags.
Move VideoPlane to video.h, it contains the information for a plane.
Add GstVideoInfo structure that holds the current configuration of a video
format.
Add methods to parse caps into GstVideoInfo.
2011-06-17 15:33:12 +02:00
Wim Taymans
3b9477e173 video: add methods to parse X11 visuals
Add method to convert X11 visual description to GstVideoFormat
2011-06-16 12:52:13 +02:00
Wim Taymans
42fa1010cb video: update video caps 2011-06-16 12:52:13 +02:00
Tim-Philipp Müller
a9e4949238 gnomevfs: remove GnomeVFS plugin
The gio plugin replaces it.
2011-06-15 00:52:47 +01:00
Debarshi Ray
2c6dbae423 Remove unused but set variables
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-14 22:40:13 +01:00
Wim Taymans
8ed2554142 Merge branch 'master' into 0.11 2011-06-14 15:20:37 +02:00
Debarshi Ray
70dd7dd092 codec-utils: restore 7350 as a valid sampling frequency for AAC
This was lost during c77f88cac6.
2011-06-14 10:24:59 +01:00
Wim Taymans
9c54ca5254 -base: update for buffer API change 2011-06-13 16:32:56 +02:00
Wim Taymans
7538dffaa0 basertppayload: cleanup header 2011-06-13 16:28:58 +02:00
Wim Taymans
0ac9bb7d99 Merge branch 'master' into 0.11
Conflicts:
	tests/examples/audio/Makefile.am
	tests/examples/v4l/Makefile.am
2011-06-10 12:14:57 +02:00
Tim-Philipp Müller
efdd32580e libs: replace G_CONST_RETURN with 'const'
G_CONST_RETURN will be deprecated soon.

https://bugzilla.gnome.org/show_bug.cgi?id=652211
2011-06-09 18:30:33 +01:00
Thiago Santos
02580714de tag: xmp: Fix LocationShown syntax
According to the specification, the LocationShown requires its
struct fields to be inside a Bag type.
2011-06-09 09:58:16 -03:00
Thiago Santos
9e6d3214f8 tag: xmp: Add room for extra namespace definitions
Adds an extra field to the namespace definitions of the schemas
so they can add the namespace of any array/struct fields they
might use internally.
2011-06-08 14:21:40 -03:00
Wim Taymans
2a94b0eb04 rtp: use new memory alloc API 2011-06-07 16:18:40 +02:00
Wim Taymans
28f67f4847 event: fix some event leaks 2011-06-07 12:06:22 +02:00
Wim Taymans
c88ee10c9b Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
Mark Nauwelaerts
5ed90ffc2c tagdemux: no input data implies no type can be found
... and posting a proper error message to this effect is appropriately
informative and prevents auto-plugging otherwise stalling.
2011-06-06 14:43:02 +02:00
David Schleef
0778efcfde discoverer: fix c99-ism 2011-06-04 12:27:47 -07:00
Wim Taymans
0200e720de Merge branch 'master' into 0.11 2011-06-02 19:26:33 +02:00
Wim Taymans
81ebc0a82e basertp: use caps event instead of setcaps function
Use the caps event instead of the setcaps function to configure caps.
Use a default event handler for the base rtp payloader instead of the awkward
way of handling the return value.
2011-06-02 19:21:24 +02:00
Patrick McCarty
a9a85bbac1 pbutils: add description for wbmp images.
https://bugzilla.gnome.org/show_bug.cgi?id=651294
2011-06-02 14:36:06 +01:00
Wim Taymans
e6f8f7f310 video: fix header after merge 2011-06-02 12:21:28 +02:00
Wim Taymans
f9967e4aac Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/video.h
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkvideoconvert.c
	tests/check/libs/rtp.c
2011-06-02 12:18:13 +02:00
Wim Taymans
f91c753959 probes: port to new API for blocking and probes 2011-06-01 19:34:54 +02:00
David Schleef
9bb91b32bb fft: s/M_PI/G_PI/ for MSVC 2011-05-31 20:18:23 -07:00
Tim-Philipp Müller
47614d3106 video: sprinkle some G_GNUC_CONST
Mark functions that have no effect besides their return value and
only inspect their input arguments with G_GNUC_CONST. (We just
ignore the g_return_val_if_fail() guards for this)
2011-05-28 12:29:46 +01:00
Tim-Philipp Müller
2699d875bf video: clean up header file
Sprinkle some spaces and newlines here and there.
2011-05-28 12:29:46 +01:00
Stefan Kost
940291dd38 audio: move testchannels example to 'tests/examples' dir
Also fix it up a little to not include 'c' file but link to the libs instead.
2011-05-27 15:09:25 +03:00
Sebastian Dröge
125f6a2fdf Merge branch 'master' into 0.11 2011-05-27 13:58:41 +02:00
Stefan Kost
2b32faad91 code-utile: fix level descriptions for fgs
fgs levels range from 8-13 and are mapped to 0-5.
2011-05-27 11:41:24 +03:00
Stefan Kost
d35d7561a3 codec-utils: fix mpeg4 level verification
The current condition would never be true. As levels<6 are asp and levels>7 and
<14 are fgs, we should return NULL for cases 6,7,14,15.
2011-05-27 11:41:24 +03:00
Sebastian Dröge
bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Stefan Kost
a11f6d4a73 riff: remove the g_return_if_fail as we test it below
We don't want to return without setting taglist=NULL if asserts are on and with
setting taglist=NULL otherwise.
2011-05-25 15:06:19 +03:00
Stefan Kost
5e3f448afb exiftag: reflow the code
Move the warning on unsupported units to the swicth-case. Move fetching the
pending tags down to where we use them.
2011-05-25 14:12:50 +03:00
Stefan Kost
8ffe4445f6 exiftag: set value=1 if we found the token
Otherwise we never write the tag. This would also be consistent with the code in
deserialize_scene_type().
2011-05-25 13:59:57 +03:00
Wim Taymans
e614c6bd81 feature: use object name instaed of feature name 2011-05-24 18:21:06 +02:00
Wim Taymans
010add200a scheduling: port to new scheduling query 2011-05-24 17:37:45 +02:00
Wim Taymans
dfcb6580a3 convertframe: fix for merge conflict 2011-05-24 09:55:47 +02:00
Wim Taymans
a87c021237 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Stefan Kost
ce1369a7e5 docs: add missing parameter docs 2011-05-24 00:12:26 +03:00
Stefan Kost
fd21595886 docs: move pluginbaseversion to separate section as we have section docs 2011-05-23 23:56:09 +03:00
Stefan Kost
8ca5d1274b docs: add minimal docblobs for status code and headers
Use a trick to avoid documenting all 100 enums.
2011-05-23 23:56:09 +03:00
Stefan Kost
deeae48a03 docs: update xoverlay docs for api addition and deprecation 2011-05-23 23:56:09 +03:00
Stefan Kost
269205b1ad docs: rtp library docs update 2011-05-23 23:56:09 +03:00
Stefan Kost
6bee2cb4ee docs: add missing documentation for various pieces 2011-05-23 23:56:09 +03:00
Thijs Vermeir
dad50ad1fe baseaudiosink: recalibrate clock on setcaps
Because the spec for the ringbuffer can change when changing
the caps, we must recalibrate the clock.

https://bugzilla.gnome.org/show_bug.cgi?id=610443
2011-05-23 17:02:03 +02:00
Stefan Kost
8db7c1221e convertframe: fix docs
Fixup paramter mismatch between func and prototype. Add missing parameter docs.
2011-05-23 15:21:59 +03:00
Stefan Kost
089fdb7792 docs: fixup audio-library docs 2011-05-23 15:08:24 +03:00
Stefan Kost
762bb236fa docs: fixup appsrc/sink api docs 2011-05-23 15:02:27 +03:00
Stefan Kost
d6ea8d5cb3 docs: fix docs for new api
Some parameters where wrong, first line missed the ':' and return docs where
broken.
2011-05-23 14:56:17 +03:00
Stefan Kost
a2d622ab03 xmptag: remove late check
We deref the pointer two lines before already and besides this internal function
should not be called with this parameter=NULL.
2011-05-23 14:07:38 +03:00
Stefan Kost
f466c5e1ca xmptag: have the default branch as the last one 2011-05-23 14:01:29 +03:00
Stefan Kost
70a982e7ba xmptag: an uint value can't be <0 2011-05-23 14:00:04 +03:00
Stefan Kost
b91b12b639 whitespace: trim trailing whitespace 2011-05-23 13:53:06 +03:00
Stefan Kost
6e12954c68 video.c: use a break and a final warning instead of early returns
Use breaks for case branches instead of return 0. We don't expect these to
happen anyway. Thus have a warning before the final return to make it easier to
see when things go out of sync.
2011-05-23 13:50:59 +03:00
Stefan Kost
40273cf2d3 video.c: use g_assert_not_reached() for logical error here.
This will help to detect them closer to the source if they ever happen.
2011-05-23 13:50:09 +03:00
Sebastian Dröge
a9b134d1a9 Merge branch 'master' into 0.11
Conflicts:
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/gst-plugins-base-plugins.prerequisites
2011-05-20 12:26:57 +02:00
Stefan Kost
9b8992cbf1 lang: fix possible array overrun
We where checking for i<G_N_ELEMENTS, but where accessing i+1.
2011-05-20 10:49:54 +03:00
Wim Taymans
489eed9bb8 Merge branch 'master' into 0.11 2011-05-19 11:31:53 +02:00
Sebastian Dröge
884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Robert Swain
ad2010d379 gstvideo: Add gst_video_get_size_from_caps function
gst_video_get_size_from_caps () allows easy calculation of the raw video
buffer size from some fixed video caps.

API: gst_video_get_size_from_caps()
2011-05-18 14:13:46 +02:00
Sebastian Dröge
0e85826a05 encoding-profile: Returns a new reference of caps everywhere instead of const caps 2011-05-17 13:05:56 +02:00
Sebastian Dröge
8a0bdbf2bc audiofilter: gst_pad_template_new() does not take ownership of the caps anymore
There's no need to copy the caps before passing them to that function.
2011-05-17 12:31:18 +02:00
Sebastian Dröge
2df213fe25 Merge branch 'master' into 0.11 2011-05-17 11:27:12 +02:00
Sebastian Dröge
318ed07598 Revert "-base_port to new query API"
This reverts commit c9f4e0676b.
2011-05-17 11:25:31 +02:00
Edward Hervey
66016eedc7 rtsp: Fix typo which broke the build 2011-05-17 10:20:36 +02:00
Miguel Angel Cabrera Moya
30b2abaddd rtspconnection: not enter in not controllable state unless it is necessary
When closing rtspsrc the state change blocks until the polling in the
connection timeouts. This is because the second time we loop to read a
full message controllable is set to FALSE in the poll group, even though no
message is half read.
This can be avoided by not setting controllable to FALSE the poll group
unless we had begin to read a message.

Fixes #610916
2011-05-17 09:29:47 +02:00
Miguel Angel Cabrera Moya
df5af9cdfd rtspconnection: not enter in not controllable state unless it is necessary
When closing rtspsrc the state change blocks until the polling in the
connection timeouts. This is because the second time we loop to read a
full message controllable is set to FALSE in the poll group, even though no
message is half read.
This can be avoided by not setting controllable to FALSE the poll group
unless we had begin to read a message.

Fixes #610916
2011-05-17 09:27:25 +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
2987ad9358 discoverer: Update for the new gst_pad_get_caps() signature 2011-05-16 15:35:40 +02:00
Sebastian Dröge
8598775951 appsink: Update for the negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
97f18beaeb basertppayload: Change ::get_caps to include the filter caps
And improve downstream negotiation a bit by passing our proposed
caps to the peer as a filter.
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
Thiago Santos
c13a6e2281 tag: xmpwriter: Rename documentation headers
Fix some wrong documentation headers from the first name
given to this interface.
2011-05-15 13:02:39 -03:00
Thiago Santos
2df57f289a tag: xmp: Add Iptc4xmpExt schema support
Adds Iptc4xmpExt schema with country, city and sublocation
tags mapped
2011-05-15 13:02:39 -03:00
Thiago Santos
12813fc10b tag: xmp: Add support for reading struct tags
Adds a context variable that controls if the parsing is on
'top level' tags or inside a struct tag.
2011-05-15 13:02:39 -03:00
Thiago Santos
1b29009bb3 tag: xmp: Add struct xmp tag type support
Adds support for writing the xmp struct tag type, it is a compound tag
that has inner tags.
2011-05-15 13:02:38 -03:00
Thiago Santos
d764676583 tag: xmp: Fixing schema maps
Do not forget to create a new schema for every supported schema
instead of reusing the same object
2011-05-15 13:02:38 -03:00
Thiago Santos
09ec43a22e tag: xmp: Write the same tag to all schemas
Instead of writing only the xmp tag for the first found entry
that matches the gstreamer tag, look for all mappings to write
the tag to different schemas.

The rationale here is that some reader application might only
be interested on a particular schema tags, so we should try
to write as many tags for all schemas.
2011-05-15 13:02:38 -03:00
Arun Raghavan
623e8781ab baseaudiosink: Use g_str_equal() instead of strncmp()
The strncmp is unnecessary anyway since one of the strings is a const
string.
2011-05-14 18:53:12 +05:30
Arun Raghavan
824e643ec9 baseaudiosink: Fix trivial indentation problems 2011-05-14 18:53:12 +05:30
Arun Raghavan
8ff93a6a3d audio: Add an IEC 61937 payloading library
This can be used by sinks to take compressed formats, correctly payload
these in IEC 61937 frames and feed these to sinks that support
passthrough output over IEC 60958 (S/PDIF) or, in the case of MP3, over
Bluetooth.

Initial implementation includes AC3, E-AC3, MPEG-1, MPEG-2 (non-AAC),
and DTS (type-I/II/II) payloading. More formats can be added as needed.

API: gst_audio_iec61937_frame_size()
API: gst_audio_iec61937_payload()

https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:53:12 +05:30
Arun Raghavan
643e5f586c baseaudiosink: Allow subclasses to provide payloaders
This allows subclasses to provide a "payload" function to prepare
buffers for consumption. The immediate use for this is for sinks that
can handle compressed formats - parsers are directly connected to the
sink, and for formats such as AC3, DTS, and MPEG, IEC 61937 patyloading
might be used.

API: GstBaseAudioSinkClass:payload()

https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:23:18 +05:30
Arun Raghavan
9615081f9c ringbuffer: Add support for E-AC3
Adds support for pushing E-AC3 buffers and doing bytes-to-ms conversion
correctly. The assumption (as with other formats) is that something like
IEC 61937 payloading will be used. Correspondingly the ringbuffer spec
is populated so that the data rate is 4x normal AC3.

https://bugzilla.gnome.org/show_bug.cgi?id=642730
2011-05-14 18:21:23 +05:30
Arun Raghavan
193fbf93a9 ringbuffer: Add support for MPEG audio buffers 2011-05-14 18:21:16 +05:30
Arun Raghavan
1a1f2cc50a ringbuffer: Add AAC format types
These are meant to be used for buffers containing AAC data. Nothing uses
this yet, but for now it serves to distinguish from GST_BUFTYPE_MPEG
which represents non-AAC MPEG audio.

API: GST_BUFTYPE_MPEG2_AAC
API: GST_BUFTYPE_MPEG4_AAC
2011-05-14 18:20:37 +05:30
Arun Raghavan
33ef9ab054 ringbuffer: Add support for DTS buffers 2011-05-14 16:53:33 +05:30
Wim Taymans
c81b1b8019 -base: remove metadata (des)serialize functions 2011-05-11 19:12:42 +02:00
Wim Taymans
c9f4e0676b -base_port to new query API 2011-05-10 18:39:07 +02:00
Wim Taymans
995fe2fedc navigation: use new query method names 2011-05-10 15:43:08 +02:00
Wim Taymans
556afdef97 message: don't acces the structure directly 2011-05-10 13:35:49 +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
Wim Taymans
ec57868488 -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Philippe Normand
081202b9d3 base: presets moved from $HOME/.gstreamer-0.11 to $HOME/.local/share/gstreamer-0.11 2011-05-03 09:49:46 +02:00
Wim Taymans
e7f56a7817 metavideo: add flags and a define for the API 2011-04-29 11:27:46 +02:00
Wim Taymans
6cf9c890c9 metavideo: first attempt at video metadata
Add a first version of video metadata for buffers that can contain more info
about the video such as strides and flags etc.
2011-04-28 19:20:58 +02:00
Wim Taymans
079c152e62 Merge branch 'master' into 0.11
Conflicts:
	gst/videoscale/gstvideoscale.c
2011-04-25 11:20:45 +02:00
Víctor Manuel Jáquez Leal
35c1cf16d9 tag: exif: register common tags from tag library
Exif uses tags like  image-vertical-ppi or image-horizontal-ppi which are
registered in gst_tag_register_musicbrainz_tags(), but neither GstExifReader
nor GstExifWriter register them.

https://bugzilla.gnome.org/show_bug.cgi?id=648459
2011-04-24 12:28:00 +01:00
Tim-Philipp Müller
f78a50ed4f tag: update some FIXMEs for 0.11 2011-04-24 12:27:51 +01:00
Sebastian Dröge
68a3828adb audiofilter: GstElement takes ownership of pad templates and it should be called from class_init now, not base_init 2011-04-19 14:31:20 +02:00
Sebastian Dröge
554906918a cddabasesrc: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 10:54:50 +02:00
Sebastian Dröge
f50b3af5d7 audio: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 10:52:00 +02:00
Sebastian Dröge
0f1741da23 app: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 10:47:15 +02:00
Sebastian Dröge
a7e8c8debe gstbasertppayload: Use g_once_init_{enter,leave}() in the _get_type() function 2011-04-18 18:30:41 +02:00
Sebastian Dröge
5d4fd722f0 rtp: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-18 18:29:35 +02:00
Sebastian Dröge
0759ce8533 Merge branch 'master' into 0.11 2011-04-18 13:23:32 +02:00
Håvard Graff
d9f1b3736e ringbuffer: make sure to not start if the may_start flag is FALSE
Fixes #635784
2011-04-18 11:40:06 +02:00
Tim-Philipp Müller
99b6b1bbb8 sdp: remove gst_init() for g-i scanner here again as well to avoid problems with -Wl,--as-needed 2011-04-17 19:33:04 +01:00
Tim-Philipp Müller
49e4173c84 fft: remove gst_init() for g-i scanner again
libgstfft doesn't actually use any symbols from libgstreamer, so when
compiling with -Wl,--as-needed it won't even link to it, which can
cause failures with older versions of g-i that ignore the --pkg
arguments.

Should fix PPA build failure on Ubuntu Maverick
2011-04-17 18:04:39 +01:00
Sebastian Dröge
c8792778f8 Merge branch 'master' into 0.11 2011-04-16 16:06:26 +02:00
Tim-Philipp Müller
1d05e81435 libs: gobject-introspection scanner doesn't need to scan or update plugin info
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Sebastian Dröge
8eceb64b99 Merge branch 'master' into 0.11 2011-04-16 09:33:44 +02:00
Sebastian Dröge
352edd1dd9 Merge branch 'master' into 0.11 2011-04-16 09:12:31 +02:00
David Schleef
ef3712b427 Revert "video: Remove the extensive checkings from switch"
This reverts commit 500d14c35c.
2011-04-14 12:42:20 -07:00
Sreerenj Balachandran
500d14c35c video: Remove the extensive checkings from switch
The default case handles them already
2011-04-14 10:02:42 +02:00
Thiago Santos
e57473178b tag: xmp: Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION for xmp
library.

Includes unit tests.
2011-04-14 00:04:52 -03:00
Thiago Santos
dae1c37dfe tag: exif: Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION for exif
library.

Includes unit tests.
2011-04-14 00:04:52 -03:00
Thiago Santos
4d4aade47b tag: Adds GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
Adds a new tag for indicating the used exposure compensation
level in EV used when capturing an image.

API: GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
2011-04-14 00:04:52 -03:00
Tim-Philipp Müller
49cc1718a8 docs: fix typo in video format docs 2011-04-13 09:10:52 +01:00
Sreerenj Balachandran
fecd4a1154 rtsptranport: ensure valid int result when parsing ranges
Specifically, make sure that the return value of strtol is falling in
between the range of G_MININT and G_MAXINT.

Fixes #646952.
2011-04-12 12:30:08 +02:00
Bastien Nocera
3fa0119dc1 encoding-profile: fix unused-but-set-variable warnings with gcc 4.6
Top-level profiles don't have restrictions, only stream profiles,
so no need to serialise that here.

https://bugzilla.gnome.org/show_bug.cgi?id=646925
2011-04-12 10:05:53 +01:00
Wim Taymans
6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +02:00
Tim-Philipp Müller
fe226e7a77 tag: fix typo in ID3 genres
psychadelic -> psychedelic. Spotted by Sébastien Wilmet.

https://bugzilla.gnome.org/show_bug.cgi?id=647399
2011-04-11 10:06:53 +01:00
Alessandro Decina
030f639a8e 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-04-11 07:23:21 +02:00
Sebastian Dröge
0a1d85c233 rtp: Unref events if the parent element disappeared or has no event handler implemented 2011-04-08 15:10:02 +02:00
Ole André Vadla Ravnås
f59b985698 rtp: fix pad callbacks so they handle when parent goes away
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.

This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-08 15:05:23 +02:00
Wim Taymans
3ea2bc3ab0 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/rtp/gstbasertpdepayload.c
2011-04-07 16:19:08 +02:00
Bastien Nocera
96463bb8df rtp: Remove unused variables
https://bugzilla.gnome.org/show_bug.cgi?id=646924
2011-04-07 10:16:39 +02:00
Sebastian Dröge
a29e55f9c4 video: Fix creation of grayscale caps
The endianness was not set correctly before.

Fixes bug #646923.
2011-04-07 10:06:53 +02:00
Wim Taymans
4007076b55 Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Pascal Buhler
1ad98b0d98 rtcpbuffer: Round to next 32bit word, not current 32bit word at end of SDES chunk 2011-04-05 15:27:03 +02:00
David Schleef
5f61df82da video: Fix YUV9 and YVU9 again 2011-04-04 16:01:20 -07:00
Tim-Philipp Müller
f728ee3978 tag: fix compiler warning on OSX
gstvorbistag.c: In function 'gst_tag_list_from_vorbiscomment_buffer':
gstvorbistag.c:371: warning: 'data' may be used uninitialized in this function
2011-04-04 23:41:16 +01:00
Haakon Sporsheim
834a5a478c tag: use gst/math-compat.h header.
https://bugzilla.gnome.org/show_bug.cgi?id=646744
2011-04-04 23:14:23 +01:00
Haakon Sporsheim
f7036eb260 tag: Remove constness to silence MS compiler.
https://bugzilla.gnome.org/show_bug.cgi?id=646744
2011-04-04 23:14:23 +01:00
Haakon Sporsheim
7b142178e4 tag: Explicit cast to GThreadFunc to silence MS compiler.
https://bugzilla.gnome.org/show_bug.cgi?id=646744
2011-04-04 23:14:20 +01:00
Wim Taymans
0f3fdf18e0 fix compilation after merge 2011-04-04 11:44:15 +02:00
Wim Taymans
da1c863711 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
Trond Andersen
cec628a414 rtcpbuffer: fix invalid read in validation of padding in rtcp packet 2011-04-04 09:43:06 +02:00
Stian Johansen
0f8edca902 baseaudiosrc: Add src object lock around call to ringbuffer parse caps.
A race was observed between query() and setcaps() where the latter would
change the ringbuffer spec while the former was performing operations
based this data.
2011-04-04 09:35:58 +02:00
Havard Graff
63cfa2a50d baseaudiosrc: protect against ringbuffer disappearing while in a query
Observed a case where the src went to null-state during the query,
hence the spec pointer was no longer valid, and
gst_util_unit64_scale_int crashed (assertion `denom > 0´failed)

Add locking to make sure the ringbuffer can't disappear.
2011-04-04 09:33:33 +02:00
Havard Graff
588ac0ae6f baseaudiosink: don't allow aligning behind the read-segment
Given a large enough drift-tolerance, one could end up in a situation
where one would keep aligning the written buffers behind the current
read-segment position. The result for the reader would be complete
silence, possible preceded by very choppy audio.

By checking the available headroom, one can determine if there is
room to do alignment, or if one should resort to a resync instead to get
the pointers back on track.

Also refactor the alignment-logic out of the render function for cleaner
code.
2011-04-04 09:31:26 +02:00
David Schleef
629cac4cad video: Fix height calculation for YUV9/YVU9 2011-04-01 13:55:56 -07:00
Sebastian Dröge
35064fdc82 vorbistag: Write GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE as METADATA_BLOCK_PICTURE
This is the official, standardized way of embedding images into
vorbiscomments now.
2011-04-01 12:54:53 +02:00
Sebastian Dröge
57ff12bb0d vorbistag: Add support for METADATA_BLOCK_PICTURE tags
This is the official, standardized way of embedding pictures
inside vorbiscomments now. Parsing code taken from flacparse
and slightly changed.

Fixes bug #635669.
2011-04-01 12:31:31 +02:00
Sebastian Dröge
a2532fc3f7 vorbistag: Use g_base64_decode_inplace()
Instead of using the GLib base64 decoding functions manually to
do inplace base64 decoding. This makes the code easier to understand.
2011-04-01 12:09:44 +02:00
Wim Taymans
d96a8c1aa7 Merge branch 'master' into 0.11 2011-03-31 17:53:12 +02:00
Wim Taymans
730b87271c bufferlist: fixes for new API 2011-03-31 17:47:43 +02:00
Mark Nauwelaerts
e73f293ee5 baseaudiosink: arrange for running clock when rendering eos
Commit ba2e500bd9 ensured to provide
a running clock when EOS had finished rendering.  However,
other measures are needed (and were in place before) to ensure a
running clock when EOS still needs rendering (i.e. waiting).

So, specifically, re-introduce eos_rendering removed in aforementioned commit,
this time as a public variable so subclasses can be aware of the situation.

Fixes (part of) #645961.

API: GstBaseAudioSink:eos_rendering
2011-03-31 13:18:53 +02:00
Tim-Philipp Müller
45b6bda76c libs: make sure gobject-introspection scanner calls gst_init()
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381 libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Wim Taymans
7ec584fe47 xmp: fix after merge conflict 2011-03-30 20:35:51 +02:00
Wim Taymans
adaf08f143 Merge branch 'master' into 0.11-fdo
Conflicts:
	gst-libs/gst/tag/gstxmptag.c
2011-03-30 20:23:54 +02:00
Wim Taymans
248ab2d064 Fix for latest API changes 2011-03-30 16:50:45 +02:00
Thiago Santos
34ba387d0b tagxmpwriter: Adds a new GstTagXmpWriter interface
The GstTagXmpWriter interface is to be implemented on elements that
provide xmp serialization. It allows users to select which
xmp schemas should be used on serialization.

API: GstTagXmpWriter

https://bugzilla.gnome.org/show_bug.cgi?id=645167
2011-03-29 17:11:30 -03:00
Thiago Santos
6cc96a67ec tag: xmp: Add function to list the available schemas
Adds a function to list the available schemas in our xmp lib

https://bugzilla.gnome.org/show_bug.cgi?id=645167
2011-03-29 17:11:30 -03:00
Wim Taymans
e1869fa267 Merge branch 'master' into 0.11-fdo 2011-03-28 20:13:59 +02:00
Wim Taymans
536e86e28f tests: fix more checks 2011-03-28 19:23:38 +02:00
Wim Taymans
e33b73f9df tests: fix RTP and RTCP unit tests 2011-03-28 18:42:09 +02:00
Wim Taymans
bf3126ef3d netbuffer: fix netbuffer add function 2011-03-28 17:58:46 +02:00
Wim Taymans
a9b2e095ff encodebin: fix new profile unref 2011-03-28 17:02:26 +02:00
Wim Taymans
e6dc4c189d tests: fix some unit tests 2011-03-28 16:54:30 +02:00
Wim Taymans
d10602fbde audiosink: improve comment 2011-03-28 10:25:38 +02:00
Wim Taymans
f379a5dacb plugins: more porting to new memory API 2011-03-27 18:30:24 +02:00
Wim Taymans
3d25a4b470 libs: port to new data API 2011-03-27 13:55:15 +02:00
Wim Taymans
41025681bc tags: port to new metadata and memory API 2011-03-25 19:52:30 +01:00
Thiago Santos
78e8b33c38 video: Getting component offsets without dimensions is fine if it is not YUV
This fixes a regression that an assertion would happen if
gst_video_get_component_offset would be called with width or
height as 0.

Calling it with 0 is fine if the format isn't yuv and this
was already being used in some other places of video.c
2011-03-23 12:21:55 -03:00
David Schleef
a08227505f video: Add gst_video_format_new_template_caps() 2011-03-22 12:11:49 -07:00
Fraxinas
0af549ace0 encoding-profile: Fix syntax in Example: Creating a profile
https://bugzilla.gnome.org/show_bug.cgi?id=645437
2011-03-22 10:49:03 +01:00
Thiago Santos
75897c716f tag: xmp: Add missing schema creation
tiff schema entries were being added to the previous
schema (xap) because a new one wasn't being created
for it.
2011-03-21 18:37:36 -03:00
Olivier Crête
103fb67d20 rtpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header 2011-03-17 21:50:24 -04:00
Wim Taymans
95f7fd8edf Merge branch 'master' into 0.11-fdo 2011-03-15 11:11:56 +01:00
Tim-Philipp Müller
842911d241 libs: make sure gobject-introspection scanner calls gst_init()
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
2011-03-09 12:17:14 +00:00
Tim-Philipp Müller
dfd056f54a libgstapp: fix backticks in gobject-introspection section of Makefile.am 2011-03-09 12:17:07 +00:00
Arun Raghavan
9ffb8859d7 discoverer: Don't wait for subtitle streams to preroll
Subtitle streams being parse can cause the pipeline to wait indefinitely
to PREROLL. This makes subtitle streams got to PAUSED even if no data is
available. This should not be a cause for concern as we don't expect to
get much data for subtitle streams other than language tags from the
container.

https://bugzilla.gnome.org/show_bug.cgi?id=632291
2011-03-08 23:02:18 +05:30
Wim Taymans
f246c0e97d meta: update for new API 2011-03-08 17:01:41 +00:00
Wim Taymans
8a786d10be baseaudiosink: use sink preroll lock 2011-03-04 17:25:46 +01:00
Wim Taymans
6aa22111a1 Merge branch 'master' into 0.11 2011-03-04 16:21:13 +01:00
Mark Nauwelaerts
ba2e500bd9 baseaudiosink: start ringbuffer upon going to PLAYING and already EOS
... otherwise we may end up without running clock in PLAYING.

Fixes #636886.
2011-03-04 14:10:30 +01:00
Wim Taymans
9ecff3c985 netbuffer: Implement NetAddress with metadata
Make a NetAddress metadata.
2011-02-28 12:59:40 +01:00
Wim Taymans
b967bf531b pbutils: use GObject as the base class
We can't subclass miniobject so use GObject as the base class,
2011-02-28 11:50:03 +01:00
Wim Taymans
65ba216b8c baseaudiosink: remove deprecated method 2011-02-28 11:50:03 +01:00
Wim Taymans
263bfae950 netbuffer: disable GstNetBuffer object
There are no more buffer subclasses and this should be implemented with
buffermetadata later.
2011-02-28 11:50:03 +01:00
Wim Taymans
4e4a0377d7 app: remove appbuffer
There are no more buffer subclasses and the application can use the regular API
to make buffers.
2011-02-28 11:50:03 +01:00
Wim Taymans
c6dd11981d Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
David Schleef
1265a42124 video: Add support for r210 2011-02-25 19:37:07 -08:00
Robert Swain
e0a658a664 gstvideo: Add GST_VIDEO_BUFFER_PROGRESSIVE flag
Maps to GST_BUFFER_FLAG_MEDIA4. The purpose is to explicitly indicate
whether a telecined buffer is progressive or not without having to make
assumptions based on previous buffers.
2011-02-25 15:29:56 +01:00
Arun Raghavan
8fc424bcbf discoverer: Chain dispose() up to parent class 2011-02-22 13:49:12 +01:00
Arun Raghavan
8d2b69384a discoverer: Keep a ref for the async timeout callback
This makes sure we maintain a ref on the discoverer object while the
async timeout callback is alive to prevent a potential crash if the
object is freed while the callback is pending.

https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Arun Raghavan
40c4fe8fbe discoverer: Use g_signal_connect_object instead of g_signal_connect
We want to make sure the discoverer object passed to the various
callbacks doesn't become invalid if a callback is pending and the object
is free'd in the mean time.

https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Teemu Katajisto
17fddc13d2 pbutils: encoding-target: fix error checking in target file loading
https://bugzilla.gnome.org/show_bug.cgi?id=642949
2011-02-22 11:44:11 +01:00
Benjamin Otte
2cc48b62fe sdp: Fix copy/paste error in inrospection part of Makefile 2011-02-21 18:01:04 +01:00
Benjamin Otte
11f7e808ac tag: Fix copy/paste error in inrospection part of Makefile 2011-02-21 18:00:36 +01:00
Benjamin Otte
6213f1f3b1 rtsp: Fix copy/paste error in inrospection part of Makefile 2011-02-21 18:00:02 +01:00
David Schleef
0ed72c2959 video: Add ARGB64 and AYUV64
16-bit per channel formats.
2011-02-20 12:04:02 -08:00
David Schleef
7a24e3ea4e video: Add gst_video_format_get_component_depth() 2011-02-20 12:04:02 -08:00
Stefan Kost
7e06d35250 discoverer: don't leak parent tags 2011-02-16 12:01:03 +02:00
Stefan Kost
c201ff3de3 discoverer: improve logging (and reindent)
Add more logging for the tag merging and use the _OBJECT flavour more.
2011-02-16 12:01:03 +02:00
Arun Raghavan
e9ff48376b discoverer: Use nominal bitrate if bitrate tag is unavailable
If the bitrate tag is unavailable, this falls back to the nominal
bitrate tag instead, if that is present.

https://bugzilla.gnome.org/show_bug.cgi?id=641860
2011-02-10 09:58:34 +02:00
Mark Nauwelaerts
b2389c2108 tagdemux: also push cached events downstream when operating in pull mode
Otherwise, having 2 tagdemux in a row followed by an element operating in
pull mode will make the second tagdemux implictly eat the first tagdemux'
tag event(s).

Fixes (part of) #641047.
2011-02-07 17:46:26 +01:00
Sreerenj Balachandran
c36a3e46f5 id3tag: map the ID3v2 TENC frame to GST_TAG_ENCODED_BY
https://bugzilla.gnome.org/show_bug.cgi?id=627268
2011-02-01 14:12:45 +00:00
Mark Nauwelaerts
505fa27159 xmptag: cast argument to isdigit to int
... as that is the specification and fixes compilation on Cygwin:

gstxmptaag.c: In function 'read_one_tag':
gstxmptag.c:1015: error: array subscript has type 'char'
2011-01-31 19:21:32 +01:00
Tim-Philipp Müller
33a5e3e06f appsink: add buffer fallback in case the application doesn't handle buffer lists
We shouldn't assume the application handles buffer lists, for
ease-of-use reasons and for backwards compatibility reasons.
2011-01-31 18:06:18 +00:00
Cai Yuanqing
71dec68cba appsink: send new-buffer-list signal
Send new-buffer-list signal when emit-signals is TRUE

https://bugzilla.gnome.org/show_bug.cgi?id=640607
2011-01-31 15:32:40 +01:00
Felipe Contreras
21d1e2ded0 baseaudiosink: trivial cleanups
It seems these stuff was neglected from commmit d8942e2.

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-01-30 15:40:53 +02:00
Tim-Philipp Müller
e404beff5d pbutils: add description for degas images 2011-01-26 09:07:26 +00:00
Stefan Kost
682ca018c9 pbutils: add description for x-annodex 2011-01-25 18:03:58 +02:00
Thiago Santos
254088344c tag: xmp: Move static variable to local function
Variable was being written to and could cause crashes
if multiple elements were parsing xmp at the same time.

Moving it to local scope solves the problem.
2011-01-24 15:21:10 -03:00
Edward Hervey
7faf92511a riff: Add support for video/x-camstudio 2011-01-24 18:27:30 +01:00
Tim-Philipp Müller
97f84c1eee encoding-target: change keyfile header to 'GStreamer Encoding Target'
which is more in line with other files such as .desktop files.
2011-01-18 10:40:29 +00:00
Tim-Philipp Müller
d1bcdea7dc pbutils: don't assume LC_MESSAGES is always defined, also check for ENABLE_NLS
Should fix build with mingw32 build bot again.
2011-01-18 01:08:05 +00:00
Tim-Philipp Müller
cd758cdbd9 app: export gst_app_stream_type_get_type()
API: gst_app_stream_type_get_type()
API: GST_TYPE_APP_STREAM_TYPE

https://bugzilla.gnome.org/show_bug.cgi?id=639747
2011-01-18 00:10:29 +00:00
Tim-Philipp Müller
b311b833c1 app: make GstAppBuffer get_type() function thread-safe 2011-01-17 23:59:48 +00:00
Arun Raghavan
6ac2e5d384 discoverer: Drop new stream tags once preroll is done
This makes sure we do not touch the stream taglist once the pipeline has
been prerolled. Adding of stream tags happens in the pad event probe
which runs in a different thread from discoverer stream processing, so
modifying the tag list while discoverer might be processing it can
sometimes cause a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=639778
2011-01-17 23:50:45 +00:00
Arun Raghavan
65a298fdee discoverer: Validate timeouts before processing them
This avoids a race where the timeout callback is scheduled to run but we
get sufficient information to finish discovery before actually getting
around to executing the callback. See the documentation of
g_source_is_destroyed() for more details.

https://bugzilla.gnome.org/show_bug.cgi?id=639730
2011-01-17 23:50:45 +00:00
Arun Raghavan
e730ce71dc discoverer: Make sure we call _stop() before being freed
This ensures that everything is properly cleaned up before the
GstDiscoverer object is freed. Specifically, it makes sure that we've
removed the async timeout callback before freeing the object to avoid a
potential crash later on.

https://bugzilla.gnome.org/show_bug.cgi?id=639755
2011-01-17 23:50:45 +00:00
Tim-Philipp Müller
c40fdbf552 pbutils: save localised strings properly when writing encoding targets to a file
Use LC_MESSAGES rather than LC_ALL. Save/load description as untranslated string
when using an English language locale. Strip locale information to the language,
so we don't save keys like description[fr_FR.UTF-8]=...

https://bugzilla.gnome.org/show_bug.cgi?id=638860
2011-01-16 16:59:32 +00:00
Tim-Philipp Müller
ba76490dd4 docs: add some more Since: markers for new encoding-profile API 2011-01-12 17:51:43 +00:00
Tim-Philipp Müller
53893cfba8 gobject-introspection: pass --library-path as well to make it find the right libgstreamer
Makes things work again properly in uninstalled setups (and
presumably in installed setups where GStreamer is installed
into a non-standard prefix). Requires fixes from core git.

https://bugzilla.gnome.org/show_bug.cgi?id=639039
2011-01-11 15:01:25 +00:00
Byeong-ryeol Kim
7c55ad4db3 gobject-introspection: fix issue when gold linker is used
Need to pass libgstreamer-0.10 explicitly to linker, since we're
calling gst_init(), which in turn is needed because the encoding
target get_type() function calls gst_value_register().

https://bugzilla.gnome.org/show_bug.cgi?id=639039
2011-01-11 15:01:25 +00:00
Tim-Philipp Müller
0ed757db33 gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00:00
Arun Raghavan
19d4a5ab4d discoverer: Documentation updates
Some cosmetic changes and expands on some bits of the documentation to
make it more newbie-friendly.
2011-01-06 15:33:14 +01:00
Tim-Philipp Müller
8dc70c76b4 pbutils: config.h include should come before all other includes 2011-01-06 00:28:39 +00:00
Edward Hervey
19201c1ab0 encoding: encoding_profile_get_output_caps => _get_input_caps
Makes more sense name-wise
2011-01-05 22:02:35 +01:00
Arun Raghavan
f458662ab9 encoding-profile: Minor documentation updates 2011-01-05 20:54:21 +01:00
Edward Hervey
5a8858b3bc encoding-profile: Give a better usage example 2011-01-05 20:54:21 +01:00
Edward Hervey
777f816ff1 encoding-target: Fixup loading/saving methods 2011-01-05 20:54:21 +01:00
Edward Hervey
536849bce5 encoding-target: more docs cleanups 2011-01-05 20:54:21 +01:00
Edward Hervey
3b32566dd4 encoding-target: Change target suffix to .gep
Along with a bunch of other internal cleanups
2011-01-05 20:54:21 +01:00
Edward Hervey
520eb442ce encoding-target: Add more docs regarding categories 2011-01-05 20:54:21 +01:00
Edward Hervey
a65faf2f3c encoding-target: Add API for list all categories and targets
API: gst_encoding_list_available_categories
API: gst_encoding_list_all_targets
2011-01-05 20:54:21 +01:00
Edward Hervey
deea1eb83f encoding-profile: Add convenience method to find a profile
API: gst_encoding_profile_find
2011-01-05 20:54:21 +01:00
Edward Hervey
d8f5b6322f encoding-target: Implement save/load feature
Fixes #637735
2011-01-05 20:54:06 +01:00
Edward Hervey
c8fa8085ba encoding-target: Add method to get a profile by name
API: gst_encoding_target_get_profile
2011-01-05 20:18:34 +01:00