Commit graph

2357 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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