platform/upstream/gstreamer.git
13 years agotag: id3v2: Put ID3v2 frames we can't parse as binary blobs into private tags, so...
Tim-Philipp Müller [Sun, 23 Jul 2006 10:56:27 +0000 (10:56 +0000)]
tag: id3v2: Put ID3v2 frames we can't parse as binary blobs into private tags, so that they are not lost ...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
(id3demux_add_id3v2_frame_blob_to_taglist),
(id3demux_id3v2_frames_to_tag_list):
Put ID3v2 frames we can't parse as binary blobs into private
tags, so that they are not lost when retagging, at least once
id3v2mux has been taught to re-inject those frames again.
See bug #334375.

13 years agotag: id3v2: Don't use \n in debug lines
Wim Taymans [Fri, 21 Jul 2006 10:57:00 +0000 (10:57 +0000)]
tag: id3v2: Don't use \n in debug lines

Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry):
Fix some leaks.
* gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
Don't use \n in debug lines.

13 years agotag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE...
Tim-Philipp Müller [Thu, 22 Jun 2006 12:17:13 +0000 (12:17 +0000)]
tag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
Set image type from APIC frame as "image-type" field
of GST_TAG_IMAGE buffer caps (#344605).

13 years agotag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.
Tim-Philipp Müller [Sun, 11 Jun 2006 19:31:10 +0000 (19:31 +0000)]
tag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
(scan_encoded_string), (parse_picture_frame):
Extract images from ID3v2 tags (APIC frames). Fixes #339704.
* configure.ac:
Require core >= 0.10.8 (for GST_TAG_IMAGE and
GST_TAG_PPEVIEW_IMAGE used in the patch above).

13 years agotag: id3v2: A track/volume number or count of 0 does not make sense, just ignore...
Tim-Philipp Müller [Sun, 28 May 2006 10:05:47 +0000 (10:05 +0000)]
tag: id3v2: A track/volume number or count of 0 does not make sense, just ignore it along with negati...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
A track/volume number or count of 0 does not make sense,
just ignore it along with negative numbers (a tag might
only contain a track count without a track number).

13 years agotag: id3v2: Don't output any tag when we encounter a negative track number - the...
Jan Schmidt [Fri, 19 May 2006 14:05:53 +0000 (14:05 +0000)]
tag: id3v2: Don't output any tag when we encounter a negative track number - the tag type is uint, so...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
Don't output any tag when we encounter a negative track number - the
tag type is uint, so we end up outputting huge positive numbers
instead. (Fixes: #342029)

13 years agotag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings...
Jan Schmidt [Tue, 16 May 2006 14:07:29 +0000 (14:07 +0000)]
tag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one ...

Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c:
(gst_auto_audio_sink_find_best):
* gst/autodetect/gstautovideosink.c:
(gst_auto_video_sink_find_best):
Make the name of the child element be based on the name of the
parent, so that debug output is more useful.
* gst-libs/gst/tag/id3v2frames.c: (find_utf16_bom),
(parse_insert_string_field), (parse_split_strings):
Rework string parsing to always walk over BOM markers in UTF16
strings, using the endianness indicated by the innermost one,
then trying the opposite endianness if that fails to convert
to valid UTF-8. Fixes #341774

13 years agotag: id3v2: Some more debug info. No need to check whether the string returned by...
Tim-Philipp Müller [Fri, 12 May 2006 08:21:37 +0000 (08:21 +0000)]
tag: id3v2: Some more debug info. No need to check whether the string returned by g_convert() is real...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (parse_insert_string_field):
Some more debug info. No need to check whether the string
returned by g_convert() is really UTF-8 - either it is or
we get NULL returned.

13 years agotag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only...
Jan Schmidt [Wed, 10 May 2006 13:51:01 +0000 (13:51 +0000)]
tag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only try and parse st...

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Fix parsing of numeric genre strings some more, by ensuring that
we only try and parse strings that a) Start with '(' and b) Consist
only of digits.
Also, when finding an escaping '((' sequence, bust it back to '(' by
swallowing the first parenthesis

13 years agotag: id3v2: Recognise and skip any byte order marker (BOM) in
Tim-Philipp Müller [Fri, 28 Apr 2006 11:37:22 +0000 (11:37 +0000)]
tag: id3v2: Recognise and skip any byte order marker (BOM) in

Original commit message from CVS:
* gst-libs/gst/tag/id3v2frames.c: (has_utf16_bom),
(parse_split_strings):
Recognise and skip any byte order marker (BOM) in
UTF-16 strings.

13 years agotag: id3v2: Recognise TCO (Genre) tags in ID3v2.2
Alex Lancaster [Mon, 17 Apr 2006 10:01:51 +0000 (10:01 +0000)]
tag: id3v2: Recognise TCO (Genre) tags in ID3v2.2

Original commit message from CVS:
* gst-libs/gst/tag/id3v2.c:
Recognise TCO (Genre) tags in ID3v2.2. Patch by Alex Lancaster
(Fixes #338713)

13 years agotag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32
Sébastien Moutte [Thu, 30 Mar 2006 23:37:16 +0000 (23:37 +0000)]
tag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32

Original commit message from CVS:
* ext\jpeg\smokecodec.c:
use of GST_DEBUG instead of DEBUG(a...) for WIN32
* ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
move first instruction after all variables declarations
* gst\alpha\gstalpha.c:
* gst\effectv\gstshagadelic.c:
* gst\smpte\paint.c:
* gst\videofilter\gstvideobalance.c:
define M_PI if it's not defined (it's not defined on WIN32)
* gst\cutter\gstcutter.c: (gst_cutter_chain):
* gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
* gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
* gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
(gst_matroska_demux_video_caps):
* gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
* gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
use gst_guint64_to_gdouble for conversions
* gst\goom\filters.c: (setPixelRGB_):
fix a debug which was using undefined variable
* gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
* gst\matroska\ebml-read.c: (gst_ebml_read_sint):
replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
* win32/vs6:
add vs6 projects files for most of plugins-good

13 years agotag: id3v2: Don't attempt typefinding on too-short buffers that have been completely...
Jan Schmidt [Wed, 22 Mar 2006 13:00:34 +0000 (13:00 +0000)]
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

13 years agotag: id3v2: We only care about gain and peak data for the master volume.
Tim-Philipp Müller [Thu, 16 Mar 2006 16:06:22 +0000 (16:06 +0000)]
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.

13 years agotag: id3v2: Read replay gain tags
Tim-Philipp Müller [Thu, 16 Mar 2006 13:22:28 +0000 (13:22 +0000)]
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).

13 years agoconfigure.ac: Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(), used...
Tim-Philipp Müller [Tue, 14 Mar 2006 17:56:02 +0000 (17:56 +0000)]
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.

13 years agotag: id3v2: Handle 0 data size in otherwise valid frames.
Jan Schmidt [Sat, 18 Feb 2006 20:48:09 +0000 (20:48 +0000)]
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

13 years agotag: id3v2: 3 2.3.0 used synch-safe integers for the tag size, but not for the frame...
Jan Schmidt [Thu, 16 Feb 2006 10:58:18 +0000 (10:58 +0000)]
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)

13 years agotag: id3v2: Add more validation to ensure that a char encoding conversion produced...
Jan Schmidt [Mon, 13 Feb 2006 12:00:51 +0000 (12:00 +0000)]
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.

13 years agotag: id3v2: Adjust for data length indicators when parsing (Fixes #329810)
Jan Schmidt [Sat, 4 Feb 2006 13:30:12 +0000 (13:30 +0000)]
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.

13 years agotag: id3v2: Never output a tag with a null contents string.
Jan Schmidt [Fri, 3 Feb 2006 13:06:24 +0000 (13:06 +0000)]
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.

13 years agotag: id3v2: Someone should kick my butt. Remove ID3v1 tags from the end of the file.
Jan Schmidt [Mon, 30 Jan 2006 23:13:05 +0000 (23:13 +0000)]
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.

13 years agotag: id3v2: Never trust ANY information encoded in a media file, especially when...
Jan Schmidt [Wed, 25 Jan 2006 18:23:05 +0000 (18:23 +0000)]
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)

13 years agotag: id3v2: Remove errant break statement, and fix compilation with older GCC.
Jan Schmidt [Mon, 23 Jan 2006 14:32:47 +0000 (14:32 +0000)]
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.

13 years agotag: id3v2: Rewrite parsing of text tags to handle multiple NULL terminated strings...
Jan Schmidt [Mon, 23 Jan 2006 09:22:17 +0000 (09:22 +0000)]
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.

13 years agotag: id3v2: Fix compilation of id3demux when zlib is not present.
Sergey Scobich [Sun, 15 Jan 2006 20:21:48 +0000 (20:21 +0000)]
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)

13 years agotag: id3v2: Add gst_element_no_more_pads() for proper decodebin behaviour.
Edward Hervey [Fri, 6 Jan 2006 11:46:53 +0000 (11:46 +0000)]
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.

13 years agotag: id3v2: If a broken tag has 0 bytes payload, at least still skip the 10 byte...
Jan Schmidt [Wed, 28 Dec 2005 18:55:32 +0000 (18:55 +0000)]
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

13 years agotag: id3v2: all new LGPL id3 demuxer, can use zlib for compressed frames
Jan Schmidt [Sun, 18 Dec 2005 15:14:44 +0000 (15:14 +0000)]
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

13 years agoaudioresample: fix quality setting being ignored by the resampler state
Vincent Penquerc'h [Thu, 11 Aug 2011 17:50:08 +0000 (18:50 +0100)]
audioresample: fix quality setting being ignored by the resampler state

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

13 years agoaudioresample: use SSE/SSE2 when possible
Vincent Penquerc'h [Thu, 11 Aug 2011 14:54:15 +0000 (15:54 +0100)]
audioresample: use SSE/SSE2 when possible

Compile in the code on i386 and x86_64, and use ORC to determine
when the runtime platform can run the code.

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

13 years agoaudioresample: fix SSE2 building with double precision
Vincent Penquerc'h [Thu, 11 Aug 2011 18:23:42 +0000 (19:23 +0100)]
audioresample: fix SSE2 building with double precision

The full double implementation was missing.

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

13 years agotag: exif: Check for utf8 before trying to convert
Thiago Santos [Thu, 11 Aug 2011 15:12:07 +0000 (12:12 -0300)]
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.

13 years agotests: tag: exif: Add tests for 'non-trivial' chars
Thiago Santos [Wed, 10 Aug 2011 16:16:13 +0000 (13:16 -0300)]
tests: tag: exif: Add tests for 'non-trivial' chars

Adds two new cases to check that characters are properly
converted to ascii when writen to exif and parsed correctly
back to utf8 when read.

13 years agotag: exif: Exif strings should be ascii
Thiago Santos [Tue, 9 Aug 2011 19:02:28 +0000 (16:02 -0300)]
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.

13 years agowin32: update libgsttag.def for new API
Tim-Philipp Müller [Wed, 10 Aug 2011 14:57:02 +0000 (15:57 +0100)]
win32: update libgsttag.def for new API

13 years agotag: don't build helper programs that generate/update data by default
Tim-Philipp Müller [Wed, 10 Aug 2011 14:21:41 +0000 (15:21 +0100)]
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.

13 years agotag: fix stray printf in mklicensestables
Tim-Philipp Müller [Wed, 10 Aug 2011 14:20:37 +0000 (15:20 +0100)]
tag: fix stray printf in mklicensestables

Don't dump debug output to stdout.

13 years agotag: fix compilation of new licenses code with GLib versions < 2.28
Tim-Philipp Müller [Wed, 10 Aug 2011 14:06:59 +0000 (15:06 +0100)]
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.

13 years agotag: add GType for GstTagLicenseFlags
Tim-Philipp Müller [Wed, 10 Aug 2011 13:57:14 +0000 (14:57 +0100)]
tag: add GType for GstTagLicenseFlags

API: gst_tag_license_flags_get_type()

13 years agosubparse: fix runtime warnings when doing position query
Tim-Philipp Müller [Wed, 10 Aug 2011 09:49:38 +0000 (10:49 +0100)]
subparse: fix runtime warnings when doing position query

Add missing 'break'.

13 years agotag: add unit test for new license API
Tim-Philipp Müller [Fri, 15 Jul 2011 12:19:38 +0000 (13:19 +0100)]
tag: add unit test for new license API

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

13 years agotag: add mklicensestables utility
Tim-Philipp Müller [Fri, 15 Jul 2011 12:14:16 +0000 (13:14 +0100)]
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

13 years agotag: add convenience API to handle creative commons licenses
Tim-Philipp Müller [Fri, 15 Jul 2011 12:07:55 +0000 (13:07 +0100)]
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

13 years agotypefind: bump probability if all frames we found are similar
Vincent Penquerc'h [Mon, 8 Aug 2011 09:00:40 +0000 (10:00 +0100)]
typefind: bump probability if all frames we found are similar

Similar meaning same layer, same bitrate, and same number of channels

This fixes misdetection of (some MP3 files that have zero padding
between the ID3 tag and the MP3 stream) as H.264 video.

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

13 years agogstvorbistag: map ENCODER Vorbis comment to application-name
Vincent Penquerc'h [Fri, 5 Aug 2011 15:53:47 +0000 (16:53 +0100)]
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

13 years agovolume: fix sample depth typo
Vincent Penquerc'h [Fri, 5 Aug 2011 10:32:09 +0000 (11:32 +0100)]
volume: fix sample depth typo

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

13 years agovolume: Update disted ORC files
Sebastian Dröge [Fri, 5 Aug 2011 11:05:43 +0000 (13:05 +0200)]
volume: Update disted ORC files

13 years agoencodebin: Set queues to silent=true
Thiago Santos [Wed, 3 Aug 2011 17:14:55 +0000 (14:14 -0300)]
encodebin: Set queues to silent=true

As encodebin doesn't connect to the queue signals, it can set
queues to silent mode to make queue not emit them.

Check https://bugzilla.gnome.org/show_bug.cgi?id=621299 for
more info on queue's silent property.

13 years agoencodebin: Fix typo on installing properties
Thiago Santos [Wed, 3 Aug 2011 16:40:19 +0000 (13:40 -0300)]
encodebin: Fix typo on installing properties

queue buffers and bytes properties have ids swapped, fix it.

13 years agooggstream: Fix crashes with 0-byte vorbis packets
Jonathan Liu [Wed, 3 Aug 2011 08:18:29 +0000 (10:18 +0200)]
oggstream: Fix crashes with 0-byte vorbis packets

Fixes bug #655574.

13 years agopbutils: Add SP levels 4a, 5 and 6
Jens Georg [Thu, 28 Jul 2011 12:43:53 +0000 (14:43 +0200)]
pbutils: Add SP levels 4a, 5 and 6

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

13 years agotheoradec: segfault on 0-byte ogg_packet in _chain_reverse
Philip Jägenstedt [Tue, 26 Jul 2011 14:10:17 +0000 (16:10 +0200)]
theoradec: segfault on 0-byte ogg_packet in _chain_reverse

13 years agoAdd new GstTagMux base class
Tim-Philipp Müller [Fri, 29 Jul 2011 09:23:02 +0000 (10:23 +0100)]
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

13 years agodocs: add documentation for GstTagMux
Tim-Philipp Müller [Fri, 29 Jul 2011 09:22:26 +0000 (10:22 +0100)]
docs: add documentation for GstTagMux

13 years agotagmux: require subclass to install sink pad template
Tim-Philipp Müller [Thu, 28 Jul 2011 19:38:37 +0000 (20:38 +0100)]
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

13 years agotagmux: const-ify GstTagList argument of render vfuncs
Tim-Philipp Müller [Fri, 15 Jul 2011 19:57:47 +0000 (20:57 +0100)]
tagmux: const-ify GstTagList argument of render vfuncs

13 years agotagmux: fix up private base class header so it can be made public
Tim-Philipp Müller [Fri, 15 Jul 2011 19:39:20 +0000 (20:39 +0100)]
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

13 years agotagmux: add support for end tags
Michael Smith [Thu, 28 Jul 2011 22:31:03 +0000 (23:31 +0100)]
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.

13 years agoext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs
Sebastian Dröge [Sun, 6 Jun 2010 16:00:22 +0000 (18:00 +0200)]
ext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs

13 years agoFix build on Mac OS X 10.5
Julien Moutte [Tue, 20 Nov 2007 11:41:13 +0000 (11:41 +0000)]
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

13 years agoUpdate my mail address.
Sebastian Dröge [Thu, 13 Sep 2007 15:04:15 +0000 (15:04 +0000)]
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.

13 years agoAdd apev2mux element (#343122).
Sebastian Dröge [Tue, 30 May 2006 14:35:18 +0000 (14:35 +0000)]
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.

13 years agogst-libs/gst/tag/gsttagmux.c: Merge event tags and tag setter tags
James Doc Livingston [Thu, 18 May 2006 12:46:08 +0000 (12:46 +0000)]
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.

13 years agodocs/plugins/Makefile.am: also check .cc files for gtk-doc markup
Thomas Vander Stichele [Mon, 1 May 2006 11:46:33 +0000 (11:46 +0000)]
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.

13 years agosmall cleanups
Thomas Vander Stichele [Sun, 30 Apr 2006 16:16:59 +0000 (16:16 +0000)]
small cleanups

Original commit message from CVS:
small cleanups

13 years agoext/taglib/gsttaglib.cc: Post an error message on the bus in the
Tim-Philipp Müller [Sat, 29 Apr 2006 18:46:36 +0000 (18:46 +0000)]
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.

13 years agoext/taglib/: Split the actual ID3v2 tag rendering code into its own
Tim-Philipp Müller [Sat, 29 Apr 2006 18:18:24 +0000 (18:18 +0000)]
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.

13 years agopedantic cleanups
Thomas Vander Stichele [Fri, 28 Apr 2006 15:33:09 +0000 (15:33 +0000)]
pedantic cleanups

Original commit message from CVS:
pedantic cleanups

13 years agoadd taglib checks and docs
Thomas Vander Stichele [Sat, 1 Apr 2006 16:50:49 +0000 (16:50 +0000)]
add taglib checks and docs

Original commit message from CVS:
add taglib checks and docs

13 years agoext/taglib/gsttaglib.*: Fix newsegment event handling a bit. We need
Tim-Philipp Müller [Sun, 26 Mar 2006 19:56:37 +0000 (19:56 +0000)]
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.

13 years agoext/taglib/gsttaglib.cc: We do not want to proxy the caps on the
Tim-Philipp Müller [Sat, 25 Mar 2006 21:57:24 +0000 (21:57 +0000)]
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.

13 years agoext/taglib/gsttaglib.h: Fix left-over gst_my_filter_get_type.
Tim-Philipp Müller [Mon, 20 Mar 2006 08:59:29 +0000 (08:59 +0000)]
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.

13 years agoext/taglib/gsttaglib.cc: Add gtk-doc blurb (unused for the time
Tim-Philipp Müller [Mon, 13 Mar 2006 17:22:19 +0000 (17:22 +0000)]
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)

13 years agoext/taglib/: Add support for writing MusicBrainz IDs.
Tim-Philipp Müller [Sun, 12 Mar 2006 15:02:02 +0000 (15:02 +0000)]
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.

13 years agoext/taglib/gsttaglib.cc: and add support for TCOP (copyright)
Alex Lancaster [Sat, 11 Mar 2006 10:58:08 +0000 (10:58 +0000)]
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)

13 years agonew id3v2 muxer based on TagLib
Christophe Fergeau [Thu, 9 Mar 2006 17:44:17 +0000 (17:44 +0000)]
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

13 years agoencodebin: rename flags names
Thiago Santos [Thu, 28 Jul 2011 14:21:26 +0000 (11:21 -0300)]
encodebin: rename flags names

Rename flags names from native-audio/-video to
no-audio/video-conversion to be more explicit on what it does

13 years agobaseaudiosink: fix latency calculation for live elements
Stefan Sauer [Wed, 20 Jul 2011 16:10:57 +0000 (18:10 +0200)]
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

13 years agobaseaudiosink: fix max latency calculation
Mark Nauwelaerts [Thu, 28 Jul 2011 09:44:20 +0000 (11:44 +0200)]
baseaudiosink: fix max latency calculation

... to allow infinite max, as also claimed by comment.

13 years agobaseaudiosink: drop samples that are too late
Mark Nauwelaerts [Wed, 1 Jun 2011 08:21:39 +0000 (10:21 +0200)]
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.

13 years agobasetime: fix failing test
Stefan Sauer [Tue, 26 Jul 2011 11:51:31 +0000 (13:51 +0200)]
basetime: fix failing test

Always use audiotestsrc as it seems to have been the intention according to the
comment header. The test does not work with live-audiosources.

13 years agotests: rename the test suite to match the binary
Stefan Kost [Mon, 25 Jul 2011 17:51:24 +0000 (19:51 +0200)]
tests: rename the test suite to match the binary

This unbreaks determining the name for make elements/playbin2-compressed.check
from the test output.

13 years agoadder: rework pending event handling
Stefan Kost [Mon, 25 Jul 2011 17:39:55 +0000 (19:39 +0200)]
adder: rework pending event handling

Use atomic ops on pending flags. Rename the segment_pending to
new_segment_pending. Set new_segment_pending not when we received seek, but
when we received the first upstream new_segment.

13 years agoadder: more debug logging for events
Stefan Kost [Mon, 25 Jul 2011 17:11:59 +0000 (19:11 +0200)]
adder: more debug logging for events

13 years agodecodebin2: Allow all EOS to go through if we don't have a next group
Edward Hervey [Tue, 26 Jul 2011 10:33:56 +0000 (12:33 +0200)]
decodebin2: Allow all EOS to go through if we don't have a next group

Only drop them if the current group isn't drained .. AND there is a
next group to switch to.

Should Fix #655268

13 years agoplaybin2: Avoid resetting playsink when not needed
Edward Hervey [Mon, 25 Jul 2011 16:37:15 +0000 (18:37 +0200)]
playbin2: Avoid resetting playsink when not needed

When we don't have specific {audio|video|text}-sink properties, don't
set them on playsink when reconfiguring.
If we do that, we end up setting the previous configured sink to
GST_STATE_NULL resulting in any potentially pending push being returned
with GST_FLOW_WRONG_STATE which will cause the upstream elements to
silently stop.

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

13 years agotextoverlay: improve the example
Stefan Sauer [Mon, 25 Jul 2011 10:04:02 +0000 (12:04 +0200)]
textoverlay: improve the example

Mentioned that this is not ment to be used with subtitles and suggest alternatives.

13 years agodecodebin2: Properly handle multi-stream chains
Edward Hervey [Mon, 25 Jul 2011 08:41:04 +0000 (10:41 +0200)]
decodebin2: Properly handle multi-stream chains

When we have a multi-stream (i.e. audio and video) input and the demuxer
adds/removes pads for a new stream (common in a mpeg-ts stream when the
program stream mapping is updated), the algorithm for EOS handling was
previously wrong (it would only drop the EOS of the *last* pad but would
let the EOS on the other pads go through).

The logic has only been changed a tiny bit for EOS handling resulting in:
* If there is no next group, let the EOS go through
* If there is a next group, but not all pads are drained in the active
  group, drop the EOS event
* If there is a next group and all pads are drained, then the ghostpads
  will be removed and the EOS event will be dropped automatically.

13 years agotextoverlay: add example for feeding from stdin
Stefan Sauer [Sat, 23 Jul 2011 12:21:27 +0000 (14:21 +0200)]
textoverlay: add example for feeding from stdin

13 years agotest: print actual timestamp on failure
Stefan Sauer [Sat, 23 Jul 2011 11:46:31 +0000 (13:46 +0200)]
test: print actual timestamp on failure

13 years agotextoverlay: keep untimestamped textbuffer until next one
Stefan Sauer [Wed, 20 Jul 2011 11:46:31 +0000 (13:46 +0200)]
textoverlay: keep untimestamped textbuffer until next one

Instead of discarding untimestamped text-buffers immeditely after rendering,
keep them until we receive the next text buffer.
Fixes #654959

13 years agotests: add decodebin2 test for parser autoplugging
Tim-Philipp Müller [Fri, 15 Jul 2011 15:46:54 +0000 (16:46 +0100)]
tests: add decodebin2 test for parser autoplugging

Make sure decodebin2 doesn't try to plug the same parser twice
in a row.

13 years agotests: add decodebin1 test for parser autoplugging
Tim-Philipp Müller [Wed, 6 Jul 2011 18:40:48 +0000 (19:40 +0100)]
tests: add decodebin1 test for parser autoplugging

Make sure decodebin1 doesn't try to plug the same parser twice
in a row (so we can change all parsers to accept parsed input as
well without breaking applications still using the old decodebin1
element).

13 years agodecodebin: don't plug the same parser multiple times in a row
Tim-Philipp Müller [Thu, 7 Jul 2011 14:02:19 +0000 (15:02 +0100)]
decodebin: don't plug the same parser multiple times in a row

This allows us to make parsers accept both parsed and unparsed input
without decodebin plugging them in a loop until things blow up, ie.
without affecting applications that still use the old playbin or the
old decodebin.

(Making parsers accept parsed input is useful for later when we want
to use parsers to convert the stream-format into something the decoder
can handle. It's also much more convenient for application authors
who can plug parsers unconditionally in transcoding pipelines, for
example).

13 years agodocs: add Since marker to gtk-doc chunk for new codec utils API
Tim-Philipp Müller [Thu, 14 Jul 2011 12:56:02 +0000 (13:56 +0100)]
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()

13 years agocodec-utils: Add method to convert H.264 text level in a level_idc
Olivier Crête [Mon, 7 Mar 2011 22:55:48 +0000 (17:55 -0500)]
codec-utils: Add method to convert H.264 text level in a level_idc

13 years agooggmux: check for EOS on both current and best pad
David Schleef [Sun, 10 Jul 2011 01:33:38 +0000 (18:33 -0700)]
oggmux: check for EOS on both current and best pad

Oops, need both.  Fixes #654270.

13 years agooggmux: check for EOS on current pad, not best
David Schleef [Sun, 10 Jul 2011 01:24:26 +0000 (18:24 -0700)]
oggmux: check for EOS on current pad, not best

Fixes #654270.

13 years agotypefind: fixed detection of audio/x-sap
Piotr Fusik [Sat, 9 Jul 2011 09:59:42 +0000 (11:59 +0200)]
typefind: fixed detection of audio/x-sap

Fixes: #654295.
Signed-off-by: David Schleef <ds@schleef.org>