Commit graph

39 commits

Author SHA1 Message Date
Sebastian Dröge
7095b7c47a id3tag: Correctly validate the year from v1 tags before passing to GstDateTime
By using strtoul(), invalid values will get mapped to MAXULONG and we
would have to check errno. They won't get mapped to 0.

To solve this, use the signed g_ascii_strtoll(). This will map errors to
0 or G_MAXINT64 or G_MININT64, and the valid range for GstDateTime is >
0 and <= 9999 so we can directly check for this here.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/384
2019-04-26 09:46:58 +03:00
Mark Nauwelaerts
8197c2c1be tag: fix some GIR annotations
Mostly related to out and array parameters.
2018-04-13 20:19:08 +02:00
Thibault Saunier
099ac9faf2 docs: Convert gtkdoc comments to markdown
Modernizing the documentation, making it simpler to read an
modify and allowing us to possibly switch to hotdoc in the
future.
2017-03-10 18:19:17 -03:00
Adam Miartus
2bab28f494 tag: id3v2: read conductor tag
ID3v2 features the TPE3 info frame, which contains information
about the conductor.

https://bugzilla.gnome.org/show_bug.cgi?id=762451
2016-02-22 21:16:54 +00:00
Ravi Kiran K N
df5725e683 id3v2frames: Handle private frames
Handle PRIV ID3 tag having owner information (string)
and binary data, add to tag messages list.

https://bugzilla.gnome.org/show_bug.cgi?id=730926
2015-11-20 20:20:18 +00:00
Matthieu Bouron
45edbacd23 tag: id3: handle publisher, interpreted-by and musical-key tags
https://bugzilla.gnome.org/show_bug.cgi?id=705999
2013-08-20 14:44:55 +02:00
Edward Hervey
0bb5065b62 id3: Use debug category and show FIXMEs
Allows spotting faster un-parsed tags
2013-07-18 07:45:47 +02:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Tim-Philipp Müller
54e9581a59 tag: extract dates from ID3v2 tags into GstDateTime instead of GDate
We may only have a year, or year and month+day, or (in future)
both date and time.
2012-07-14 15:37:46 +01:00
Tim-Philipp Müller
a1d1bd0517 tag: extract year from ID3v1 tag as GstDateTime instead of GDate
So we can signal properly that only the year is valid.
2012-07-14 15:34:56 +01:00
Edward Hervey
2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Wim Taymans
3deaa582d9 tags: make the tag functions return GstSample
gst_tag_image_data_to_image_buffer() ->
   gst_tag_image_data_to_image_sample() And make it return a GstSample.
Store the image-type into the extra sample info.
Remove a deprecated tag
2011-12-01 18:51:51 +01:00
Tim-Philipp Müller
5ee51e47a1 ext, gst, gst-libs, tests: update for tag list API changes 2011-10-31 14:22:39 +00:00
Tim-Philipp Müller
6d875c5ccd tag: id3: avoid some more relocations in genre table 2011-08-16 12:27:25 +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
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
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
John Millikin
cd31b2e298 tag: Add support for ALBUM_ARTIST tag in vorbiscomments and ID3v2 tags
Require latest core for this.

Fixes bug #590430.
2009-08-06 06:43:38 +02:00
Tim-Philipp Müller
5da78c8489 libgsttag: don't extract genres from empty ID3v1 tags
If we don't have any other info, don't try to interpret the
genre field. In particular we don't want to interpret a genre
of 0 as 'Blues' if no other fields are set and the entire tag
is just empty.
2009-06-06 12:04:12 +01:00
Michael Smith
35a9de28f4 gstid3tag: Don't extract a track number unless present.
In ID3v1, a track number is present only if byte 125 is null AND
byte 126 is non-null. If the track number is not present, don't add
a track number tag with value 0.
2009-05-19 18:12:18 -07:00
Tim-Philipp Müller
cd9bb9a674 gst-libs/gst/tag/: API: add gst_tag_image_data_to_image_buffer()
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_add_id3_image):
* gst-libs/gst/tag/tag.h: (GST_TAG_IMAGE_TYPE_NONE),
* gst-libs/gst/tag/tags.c: (register_tag_image_type_enum),
(gst_tag_image_type_get_type), (gst_tag_image_type_is_valid),
(gst_tag_image_data_to_image_buffer):
Add two utility functions to avoid code duplication (#512333):
API: add gst_tag_image_data_to_image_buffer()
API: add gst_tag_list_add_id3_image()
2008-06-03 19:29:06 +00:00
Tim-Philipp Müller
dffc29eb13 gst-libs/gst/tag/gstid3tag.c: Add mapping for audio cd discid tags, so we can extract them from tags as well (see #34...
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c: (user_tag_matches),
(gst_tag_from_id3_user_tag):
Add mapping for audio cd discid tags, so we can extract
them from tags as well (see #347848). Also compare identifiers
in ID3v2 TXXX frames in a case-insensitive way to increase
compatibility when reading tags (discid vs. DiscID vs. DiscId).
2007-11-16 10:14:34 +00:00
Tim-Philipp Müller
698e4050b3 gst-libs/gst/tag/: Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
Original commit message from CVS:
* gst-libs/gst/tag/tag.h: (GST_TAG_MUSICBRAINZ_SORTNAME):
* gst-libs/gst/tag/tags.c:
Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
GST_TAG_ARTIST_SORTNAME (in an API and ABI compatible way).
* gst-libs/gst/tag/gstid3tag.c: (tag_matches):
Map ID3v2 TSOP, TSOA and TSOT frames to new SORTNAME tags (#414539).
* gst-libs/gst/tag/gstvorbistag.c: (tag_matches),
(gst_tag_to_vorbis_comments):
Map new SORTNAME tags (these tags aren't even semi-official, so I'm
just mapping everything I found in the wild) (#414539).
2007-10-25 15:10:59 +00:00
Jason Kivlighn
054e43aa3c Map ID3v2 WCOP frame to GST_TAG_COPYRIGHT_URI (#447000).
Original commit message from CVS:
Patch by: Jason Kivlighn  <jkivlighn gmail com>
* gst-libs/gst/tag/gstid3tag.c:
* tests/check/libs/tag.c:
Map ID3v2 WCOP frame to GST_TAG_COPYRIGHT_URI (#447000).
2007-10-11 16:12:21 +00:00
Tim-Philipp Müller
3263d790f9 Add mappings for the new GST_TAG_COMPOSER for vorbis comments and ID3v2 tags.
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gstvorbistag.c:
Add mappings for the new GST_TAG_COMPOSER for vorbis comments
and ID3v2 tags.
2007-09-25 19:06:47 +00:00
Tim-Philipp Müller
a208469078 API: add gst_tag_freeform_string_to_utf8() (#405072).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
API: add gst_tag_freeform_string_to_utf8() (#405072).
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_extract_id3v1_string):
Use gst_tag_freeform_string_to_utf8() here.
2007-04-12 12:19:20 +00:00
Wim Taymans
5676bdaf81 gst-libs/gst/tag/gstid3tag.c: Add read support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add read support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag.
Fixes #414496.
2007-03-09 16:51:13 +00:00
Stefan Kost
9f6e8af294 gst-libs/gst/tag/: Use new beats-per-minute tag from core.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gstvorbistag.c:
Use new beats-per-minute tag from core.
2007-01-15 13:58:58 +00:00
Tim-Philipp Müller
f8e63966ad gst-libs/gst/tag/gstid3tag.c: Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
* gst-libs/gst/tag/gsttageditingprivate.h:
* gst-libs/gst/tag/gstvorbistag.c:
Some more random const-ifications.
2006-07-19 12:25:00 +00:00
Tim-Philipp Müller
2f9b081b9f gst-libs/gst/tag/gstid3tag.c: Map GST_IMAGE_TAG to and from ID2v2 APIC frames (#341557).
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Map GST_IMAGE_TAG to and from ID2v2 APIC frames (#341557).
2006-05-12 16:56:52 +00:00
Tim-Philipp Müller
7a683ff848 gst-libs/gst/tag/gstid3tag.c: Add TXXX frame identifiers for replaygain stuff as used by some taggers (see #323721).
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TXXX frame identifiers for replaygain stuff as used
by some taggers (see #323721).
2006-03-16 13:08:01 +00:00
Tim-Philipp Müller
c6e2d1eeea gst-libs/gst/tag/gstid3tag.c: Don't crash on unknown ID3v2 TXXX frames.
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Don't crash on unknown ID3v2 TXXX frames.
2006-03-15 22:40:08 +00:00
Tim-Philipp Müller
7762b252a3 Add new API to libgsttag: gst_tag_from_id3_user_tag().
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_user_tag):
* gst-libs/gst/tag/tag.h:
Add new API to libgsttag: gst_tag_from_id3_user_tag().
2006-03-12 13:47:22 +00:00
Jan Schmidt
a81e97c96e gst-libs/gst/tag/gstid3tag.c: Add mapping for ID3 International Standard Recording Code tag "TSRC"
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add mapping for ID3 International Standard Recording Code
tag "TSRC"
2006-02-05 22:47:41 +00:00
Tim-Philipp Müller
7b43847c2c Split libgsttag docs into multiple sections.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gstvorbistag.c:
* gst-libs/gst/tag/tags.c:
Split libgsttag docs into multiple sections.
2006-02-05 18:22:01 +00:00
Tim-Philipp Müller
8db163abcf Add libgsttag to the docs.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_tag):
* gst-libs/gst/tag/gstvorbistag.c:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
Add libgsttag to the docs.
2006-02-05 18:01:33 +00:00
Tim-Philipp Müller
3b2a0751f9 Fix handling of GST_TAG_DATE, which is now of GST_TYPE_DATE.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Fix handling of GST_TAG_DATE, which is now of GST_TYPE_DATE.
2005-10-13 15:34:02 +00:00
Andy Wingo
790c059867 gst/: Some GCC4 fixes
Original commit message from CVS:
2005-05-05  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer), (gst_vorbis_tag_chain):
* gst/adder/gstadder.h:
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_one_other):
* gst/audiorate/gstaudiorate.c: (gst_audiorate_setcaps),
(gst_audiorate_init), (gst_audiorate_chain):
* gst/playback/gstplaybasebin.c: (setup_source):
* gst/playback/test3.c: (update_scale):
Some GCC4 fixes

* po/af.po:
* po/az.po:
* po/cs.po:
* po/en_GB.po:
* po/hu.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/uk.po:
* po/vi.po: Foo
2005-05-05 14:57:20 +00:00
David Schleef
129c7e8af1 configure.ac: Remove idct and resample libs
Original commit message from CVS:
* configure.ac: Remove idct and resample libs
* gst-libs/gst/Makefile.am: same
Remove usage of gst_library_load():
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/libvisual/visual.c: (plugin_init):
* ext/ogg/gstogg.c: (plugin_init):
* ext/theora/theora.c: (plugin_init):
* ext/vorbis/vorbis.c: (plugin_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c: (plugin_init):
* gst/audioscale/gstaudioscale.c:
* gst/adder/gstadder.c: (plugin_init):
* gst/audioconvert/plugin.c: (plugin_init):
* sys/ximage/ximagesink.c: (plugin_init):
* sys/xvimage/xvimagesink.c: (plugin_init):
* gst/tcp/gsttcpplugin.c: (plugin_init):
Link plugins against libraries:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/audioconvert/Makefile.am:
Create proper libraries:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/video/Makefile.am:
Move resample library to audioscale plugin directory:
* gst-libs/gst/resample/Makefile.am:
* gst-libs/gst/resample/README:
* gst-libs/gst/resample/dtof.c:
* gst-libs/gst/resample/dtos.c:
* gst-libs/gst/resample/functable.c:
* gst-libs/gst/resample/private.h:
* gst-libs/gst/resample/resample.c:
* gst-libs/gst/resample/resample.h:
* gst-libs/gst/resample/resample.vcproj:
* gst-libs/gst/resample/test.c:
* gst/audioscale/Makefile.am:
* gst/audioscale/README:
* gst/audioscale/dtof.c:
* gst/audioscale/dtos.c:
* gst/audioscale/functable.c:
* gst/audioscale/private.h:
* gst/audioscale/resample.c:
* gst/audioscale/resample.h:
* gst/audioscale/test.c:
Move tagedit library to gst-libs:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gsttagediting.c:
* gst-libs/gst/tag/gsttageditingprivate.h:
* gst-libs/gst/tag/gstvorbistag.c:
* gst/tags/Makefile.am:
* gst/tags/gstid3tag.c:
* gst/tags/gstvorbistag.c:
Fix for core changes:
* gst/sine/gstsinesrc.c: (gst_sinesrc_class_init),
(gst_sinesrc_init), (gst_sinesrc_src_fixate), (gst_sinesrc_link),
(gst_sinesrc_getrange):
2005-04-25 00:23:06 +00:00
Renamed from gst/tags/gstid3tag.c (Browse further)