Commit graph

2214 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Edward Hervey
0a26cd9fcf pbutils: Don't forget to include the encoding headers 2011-01-05 15:31:09 +01:00
Edward Hervey
6ce0d6e78b video: Fix uninitialized variables
reported by macosx gcc
2011-01-05 12:02:02 +01:00
Arun Raghavan
c05ca085da codec-utils: Minor documentation changes 2011-01-04 18:59:25 +00:00
Tim-Philipp Müller
9c9afee1cf baseaudiosink: default to enable-last-buffer=FALSE for audio sinks
There isn't really any good reason to get the last buffer from an
audio sink, so don't make the sink keep it around unnecessarily.
2011-01-02 17:21:54 +00:00
Wim Taymans
678753b325 baseaudiopay: fix timestamps on buffer lists
Fix the outgoing timestamps and RTP timestamps on outgoing buffers when using
buffer lists.
2010-12-30 18:09:58 +01:00
Havard Graff
60ff7c0eb4 baseaudiosink: protect against ringbuffer disappearing while in a query
Observed a case where the sink went to null-state during the query,
hence the ringbuffer-pointer was NULL, causing a crash.

Moving the ringbuffer-check code until after the query, and hold the
lock during the check and while using the spec-values. It should not matter
to the query wether the ringbuffer is present or not, and it actually
gets a time bit more time to get the ringbuffer set up in this case!

Fixes #635231
2010-12-29 12:29:40 +01:00
Wim Taymans
c665034742 basedepay: fix refcounting issue
Make sure that when _make_writable() returns a new buffer, we actually push that
one instead of the old one.
2010-12-28 11:44:09 +01:00
Tim-Philipp Müller
802cf04d06 pbutils: add description for DVB subtitle caps 2010-12-26 17:29:38 +00:00
Edward Hervey
ad22e8bc10 encoding-target: Fix typo 2010-12-22 18:23:26 +01:00
Thiago Santos
17777f2596 tag: exif: Fix unitialized data warning
Fixes a valgrind warning on jifmux tests on -bad caused by
unitialized bytes.

Fixes #637758
2010-12-22 10:41:51 -03:00
Edward Hervey
9f6bcdd5ee pbutils: More gtk-doc annotations 2010-12-21 18:52:04 +01:00
Edward Hervey
4b3e1403a1 encoding-target: Ensure target names and categories are valid 2010-12-21 16:38:40 +01:00
Wim Taymans
6ffabccf04 depay: update some docs 2010-12-21 15:11:10 +01:00
Wim Taymans
9e787a0211 rtpdepayloade: add support for getting events
Add support for intercepting sink events in the depayloader by adding a new
vmethod.
2010-12-21 15:02:18 +01:00
Wim Taymans
d51ff7e4eb basertppay: use RTP base time when invalid timestamps
When we have an invalid running-time (because we clipped, for example) use the
RTP base time for timestamping instead of generating wrong RTP timestamps.
2010-12-21 13:39:26 +01:00
Wim Taymans
bc63334503 rtppayload: copy applied rate to segment
Use set_segment_full to copy all segment values to the segment structure.
2010-12-21 13:39:26 +01:00
Edward Hervey
c6bc271e7e encoding-profile: Add guard against profiles without format 2010-12-21 13:08:15 +01:00
Edward Hervey
76afffd55f gstdiscoverer: Don't leak tags 2010-12-19 13:45:01 +01:00
Rob Clark
aa07af41f3 fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:

encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Andy Wingo
dd699397c2 add gst_rtsp_url_decode_path_components
* gst-libs/gst/rtsp/gstrtspurl.h:
* gst-libs/gst/rtsp/gstrtspurl.c (gst_rtsp_url_decode_path_components):
  New public function, returns a strv of uri-decoded path components.

* tests/check/Makefile.am:
* tests/check/libs/rtsp.c: Add tests.
2010-12-15 17:51:36 +01:00
Wim Taymans
34ea5bdd06 rtpbuffer: relax arrangement for RTP bufferlists
Don't assume there are exactly 2 buffers but allow cases where the header and
payload are in 1 buffer or where the payload is in more buffers.
2010-12-15 16:37:29 +01:00
Wim Taymans
1c2c9c10b5 basedepay: add support for buffer lists in the depayloader
Add support for buffer lists in the depayloader.
2010-12-15 13:09:17 +01:00
Edward Hervey
82b4f9bfef pbutils: New Profile library
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00
Stefan Kost
7990379237 pbutils: spell out two more container formats 2010-12-13 18:06:20 +02:00
Stefan Kost
4e8956c9f1 discoverer: query seekability
Besides the duration we can also query the seekability of a stream. Use the new
API in the gst-discoverer tool.

API: gst_discoverer_info_get_seekable
2010-12-13 17:03:25 +02:00
Wim Taymans
5f36105915 appsink: unset flushing flag when starting
When we start again after being stopped, clear the flushing flag or else
it will always be TRUE.

Fixes #636769
2010-12-10 19:00:48 +01:00
Edward Hervey
e9d9474330 pbutils: Add/Fix some media descriptions
Fixes #623413
2010-12-09 16:57:35 +01:00
Stefan Kost
ecb164675d docs: fix wrong use of Since: keyword 2010-12-08 12:11:23 +02:00
Edward Hervey
f9c7be9639 rtsp: Move around the typedefs to make GIR happy
Otherwise it will generate they symbols as _GstRTSP* (with the leading
underscore).
2010-12-07 17:35:56 +01:00
Tim-Philipp Müller
78f33715ff libs: use GLib 2.22 API unconditionally 2010-12-04 14:45:58 +00:00
Mark Nauwelaerts
7c4fcf776f riff: document omitted field in _gst_riff_strf_auds
(aka WAVEFORMATEX)
2010-12-03 13:53:51 +01:00
Tim-Philipp Müller
8604fac13f video: add missing break statement for the GST_VIDEO_FORMAT_RGB8_PALETTED case 2010-12-03 00:02:26 +00:00
Edward Hervey
8743c88a33 libgstrtsp: Fix typo in .pc to use for GIR 2010-12-02 19:11:37 +01:00
Wim Taymans
626af33160 sdp: only parse TTL for IP4 addresses
Only IP4 addresses can have a TTL in the address.
2010-12-02 19:09:11 +01:00
Wim Taymans
e0d4a48ae7 sdp: add method to check for multicast addresses
Expose a previously internal method to check for multicast addresses.

See #634093
2010-12-02 19:09:11 +01:00
Sebastian Dröge
36c9ba990a pbutils: Take nano version into account in GST_CHECK_PLUGINS_BASE_VERSION()
If the nano is > 0 the current version should be handled the same as
micro + 1.
2010-12-02 19:04:29 +01:00
Sebastian Dröge
8b60aa8e01 video: Add YUV9, YVU9 and IYU1 video formats
API: GST_VIDEO_FORMAT_YUV9: planar 4:1:0 YUV
API: GST_VIDEO_FORMAT_YVU9: planar 4:1:0 YUV (chroma planes swapped)
API: GST_VIDEO_FORMAT_IYU1: packed 4:1:1 YUV (Cr-Y0-Y1-Cb-Y2-Y3)
2010-12-02 19:04:29 +01:00
Sebastian Dröge
ea7446e5b5 video: Add 8-bit paletted RGB
API: Add GST_VIDEO_FORMAT_RGB8_PALETTED
API: Add GST_VIDEO_CAPS_RGB8_PALETTED
API: Add gst_video_parse_caps_palette()
2010-12-02 19:04:29 +01:00
Sebastian Dröge
a13720fc55 video: Return correct component width/height for A420 2010-12-02 19:04:27 +01:00
Evan Nemerson
8fb2c27ed0 introspection: Add information on exported packages to GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Arun Raghavan
6b66f455a2 discoverer: Minor documentation fix
docs: Minor discoverer documentation fix
2010-11-18 07:51:20 +00:00
Arun Raghavan
5cb8b39c2c discoverer: Fix a gtk-doc gobject-introspection annotation
gst_discoverer_discover_uri() expects the caller to unref the returned
GstDiscovererInfo object. The corresponding gtk-doc annotation was not
updated to reflect this.
2010-11-08 11:44:28 +00:00
Arun Raghavan
d392994597 discoverer: Fix argument type to _container_info_get_streams()
No reason for gst_discoverer_container_info_get_streams() to not take a
GstDiscovererContainerInfo as its argument.
2010-11-08 11:44:22 +00:00
Tim-Philipp Müller
3ecb114b61 tag: fix leak when parsing undefined EXIF tag into tag list
gst_buffer_set_data() does not set GST_BUFFER_MALLOCDATA, but
the code assumes the buffer takes ownership of the memory
allocated earlier.
2010-11-02 12:02:23 +00:00
Tim-Philipp Müller
1c0b90661f tag: fix GstDateTime leak when converting exif tag to tag list 2010-11-02 11:58:14 +00:00
Stefan Kost
03eea2364a discoverer: rename boolean getters for consistency
Rename _get_is_image() to _is_image() and _get_interlaced() to _is_interlaced().

https://bugzilla.gnome.org/show_bug.cgi?id=633311
2010-10-30 14:50:21 +01:00
Tim-Philipp Müller
98c7889293 pbutils: remove padding from now-private GstDiscovererInfo structure 2010-10-30 12:24:05 +01:00
Wim Taymans
ac06dd5d0e rtspconnection: calculate better timeout value
We want to send the keealive message a little earlier than the timeout value
specifies. Scale this based on the value of the timeout instead of just assuming
5 seconds.
2010-10-29 14:22:39 +01:00
Thijs Vermeir
2e888cb784 rtsp: don't let the rtsp connection timeout
Because we should act before the rtsp server does a timeout, we
reduce the timeout-time with 5 seconds, this should be safe to always
keep te rtsp connection alive.

https://bugzilla.gnome.org/show_bug.cgi?id=633455
2010-10-29 14:22:39 +01:00
Stefan Kost
79020ae3f6 discoverer: use const in most of the getters 2010-10-28 18:54:37 +03:00
Stefan Kost
127beb9e6c discoverer: use specific types in getters
Use GstDiscoverer{Audio,Video}Info in getters like
gst_discoverer_{audio,video}_info_get_*(). This avoids the casts in the macros,
help language bindings and is more correct.
2010-10-28 18:54:37 +03:00
Edward Hervey
65cfcffbc0 discoverer: Get pad caps if we can't get negotiated caps
Better provide something than nothing

https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:19:09 +02:00
Edward Hervey
da9682a593 discoverer: Don't ref a NULL caps
https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:19:09 +02:00
Edward Hervey
9c06f55e19 pbutils: Description for RealAudio container format 2010-10-24 16:17:44 +02:00
Edward Hervey
d8a91f1f0d pbutils: Add description for VP6 alpha and ASS subtitle 2010-10-24 16:17:44 +02:00
Tim-Philipp Müller
be36a64c57 libs: touch marshal.list files to force rebuild after Makefile.am changes
Force regeneration of marshal.[ch] files after prefix changes in
Makefile.am, to avoid build errors for those of us who don't
habitually make clean first.
2010-10-19 00:07:47 +01:00
Thiago Santos
5984ff1086 tag: Adds GST_TAG_CAPTURING_SOURCE
Adds a tag to indicate the source/device used for the capture.

Already maps it in exif and adds tests.

API: GST_TAG_CAPTURING_SOURCE

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:50:11 +01:00
Thiago Santos
b49f83d738 tag: Adds GST_TAG_CAPTURING_METERING_MODE
Adds a tag to inform what mode was used by a camera to calculate
the picture capturing exposure

Also adds mapping to exif and tests

API: GST_TAG_CAPTURING_METERING_MODE

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:42:09 +01:00
Thiago Santos
f67e7aacf3 tag: Adds GST_TAG_CAPTURING_SHARPNESS
Adds new tag for tagging sharpness processing used
when capturing an image. Also maps it in the exif
tags.

Tests included.

API: GST_TAG_CAPTURING_SHARPNESS

https://bugzilla.gnome.org/show_bug.cgi?id=631773
2010-10-16 00:31:07 +01:00
Tim-Philipp Müller
f396a37fc5 rtsp: don't export marshaller function
Make sure the marshaller function isn't exported. As it was
never in a public header file, this should be fine.
2010-10-15 23:54:40 +01:00
Tim-Philipp Müller
0e8865c733 pbutils: fix distcheck
Apparently noinst implies dist.
2010-10-15 21:23:14 +01:00
Tim-Philipp Müller
45ae532162 pbutils: make marshaller private
There's no reason to make the marshaller public API. Don't install
pbutils-marshal.h header file and use prefix that makes sure the
symbol doesn't get exported.
2010-10-15 19:58:04 +01:00
Tim-Philipp Müller
c85e958c7c pbutils: use fewer variables in Makefile.am to make things clearer
Also fix typo in DISTCLEANFILES.
2010-10-15 19:16:52 +01:00
Tim-Philipp Müller
beae0db284 docs: improve gst_discoverer_new() docs a bit 2010-10-15 17:23:44 +01:00
Tim-Philipp Müller
b5f6f4873b discoverer: private structs need to padding 2010-10-15 16:43:41 +01:00
Sebastian Dröge
b3192de682 video: Fix stupid copy&paste error in last commit 2010-10-15 11:26:50 +02:00
Sebastian Dröge
8741707430 video: API: Add A420 video format
This is planar 4:2:0 YUV plus non-subsampled alpha plane.
2010-10-15 11:12:34 +02:00
Thiago Santos
67eb531163 tag: Update with latest datetime from core
Updates datetime functions to latest APIs in core
2010-10-13 12:30:31 -03:00
Stefan Kost
83c14483ed various: add a missing G_PARAM_STATIC_STRINGS flag to object properties 2010-10-13 16:13:31 +03:00
Edward Hervey
a356bb268d pbutils: rename gstdiscoverer-private.h to pbutils-private.h 2010-10-08 15:27:44 +02:00
Edward Hervey
3bc73c9d0f pbutils: Use copy_and_clean_caps for description methods
This allows the various _get_*_description() methods to be more
forgiving with the provided caps.
2010-10-08 15:27:39 +02:00
Tim-Philipp Müller
6f87bc2307 rtsp: make public _get_type() functions thread-safe 2010-10-08 11:34:59 +01:00
Tim-Philipp Müller
d59558af87 rtspurl: minor clean-up
Merge and const-ify two arrays that should be one.
2010-10-08 11:34:59 +01:00
Tim-Philipp Müller
06afe5f049 rtsp: fix enum value name in enums that are public API
https://bugzilla.gnome.org/show_bug.cgi?id=629746
2010-10-08 11:34:58 +01:00
Tim-Philipp Müller
751c34bffc audio: make public get_type() functions thread-safe 2010-10-08 11:34:58 +01:00
Tim-Philipp Müller
6b7af81e30 audio: fix enum value name in enums that are public API
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).

https://bugzilla.gnome.org/show_bug.cgi?id=629746
2010-10-08 11:34:58 +01:00
Olivier Crête
582417e031 rtcpbuffer: Add function to manipulation the data in RTCP feedback packets
Add methods to get/set the length of the Feedback Control Information (FCI) as
well as getting a pointer to the FCI itself.
2010-10-05 16:19:14 +02:00
Olivier Crête
7536d96d7c rtpbuffer: Add function to transform a GstBuffer into a GstBufferList
Add a new function called gst_rtp_buffer_list_from_buffer() that takes
a GstBuffer containing a RTP packets and spits out a GstBufferList
containing two buffers, one with the header and the other with the payload.
2010-10-05 16:19:14 +02:00
Olivier Crête
f6b7ea3d39 rtpbuffer: Add functions to add RFC 5285 header extensions to GstBufferLists
Add functions to add header extensions to buffer lists, these functions only modify
the header part of the buffer lists, so the data is not copied.
2010-10-05 16:19:14 +02:00
Olivier Crête
fb770ca5e5 rtpbuffer: Add function to read RFC 5285 header extensions from GstBufferLists 2010-10-05 16:19:14 +02:00
Olivier Crête
484871b495 rtpbuffer: Add function to add RTP header extensions with a two bytes header 2010-10-05 16:19:14 +02:00
Olivier Crête
02a0139451 rtpbuffer: Add function to append RFC 5285 one byte header extensions 2010-10-05 16:19:14 +02:00
Olivier Crête
e4c06debb2 rtpbuffer: Add function to parse RFC 5285 header extensions
RFC 5285 describes a generic method to add multiple header extensions to RTP packets.
These functions parse these headers and return them, both for the one-byte header and the
two bytes headers.
2010-10-05 16:19:14 +02:00
Arun Raghavan
33e6fe44b2 build: Fix include path order for gir generation
This makes sure that the built girs are picked up over installed girs
where this is currently the case.
2010-10-04 09:59:35 +01:00
Tim-Philipp Müller
719a9f5739 codec utils: populate mpeg4 caps "level" field with level, not profile
Call the right function to get the level. Also add some more debug
logging.
2010-10-01 15:29:36 +01:00
Tim-Philipp Müller
5c2c727f84 pbutils: include config.h in codec utils 2010-09-30 15:19:02 +01:00
Tim-Philipp Müller
515a768dbc docs: add new codec utils API to docs 2010-09-30 13:09:29 +01:00
Arun Raghavan
def1cf7276 pbutils: Add MPEG-4 Video profile/level extraction
This adds code to translate the profile_and_level indication from the
MPEG-4 video (ISO/IEC 14496-2) headers to a string profile/level. The
mappings are taken from the spec and Wireshark's code, and might need to
be expanded on.

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

API: gst_codec_utils_mpeg4video_get_profile()
API: gst_codec_utils_mpeg4video_get_level()
API: gst_codec_utils_mpeg4video_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
e4bd09f0ed pbutils: add H.264 profile/level extraction functions to codec utils
This adds code to parse the first few bytes of H.264 sequence parameter
set in order to extract the profile and level as const strings. This
code was originally in both qtdemux and matroskademux.

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

API: gst_codec_utils_h264_get_level()
API: gst_codec_utils_h264_get_profile()
API: gst_codec_utils_h264_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
0cf81938a1 pbutils: add AAC profile detection to codec utils
This moves AAC profile detection to pbutils, and uses this in
typefindfunctions. This will also be used in qtdemux.

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

API: gst_codec_utils_aac_get_profile()
API: codec_utils_aac_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
c77f88cac6 pbutils: add codec-specific utility functions for AAC
This allows us to add generic codec-specific functionality, like
extracting profile/level data from headers, without having to duplicate
code across demuxers and typefindfunctions.

As a starting point, this moves over AAC level extraction code from
typefindfunctions, so it can be reused in qtdemux, etc.

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

API: gst_codec_utils_aac_get_sample_rate_from_index()
API: gst_codec_utils_aac_get_level()
2010-09-30 13:09:28 +01:00
René Stadler
78b2ab608b tags: fix unused function warning with debug disabled 2010-09-30 13:12:30 +03:00