mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
APE v1/2 tag reader plus typefind function.
Original commit message from CVS: * configure.ac: * gst/apetag/Makefile.am: * gst/apetag/apedemux.c: (gst_ape_demux_get_type), (gst_ape_demux_base_init), (gst_ape_demux_class_init), (gst_ape_demux_init), (gst_ape_demux_get_src_formats), (gst_ape_demux_get_src_query_types), (gst_ape_demux_handle_src_query), (gst_ape_demux_get_event_mask), (gst_ape_demux_handle_src_event), (gst_ape_demux_handle_event), (gst_ape_demux_typefind_peek), (gst_ape_demux_typefind_get_length), (gst_ape_demux_typefind_suggest), (gst_ape_demux_typefind), (gst_ape_demux_parse_tags), (gst_ape_demux_stream_init), (gst_ape_demux_stream_data), (gst_ape_demux_loop), (gst_ape_demux_change_state): * gst/apetag/apedemux.h: * gst/apetag/apetag.c: (plugin_init): * gst/typefind/gsttypefindfunctions.c: (apetag_type_find), (plugin_init): APE v1/2 tag reader plus typefind function.
This commit is contained in:
parent
2b39885ed9
commit
3d7e0b09a2
3 changed files with 52 additions and 1 deletions
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
|||
2004-11-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* configure.ac:
|
||||
* gst/apetag/Makefile.am:
|
||||
* gst/apetag/apedemux.c: (gst_ape_demux_get_type),
|
||||
(gst_ape_demux_base_init), (gst_ape_demux_class_init),
|
||||
(gst_ape_demux_init), (gst_ape_demux_get_src_formats),
|
||||
(gst_ape_demux_get_src_query_types),
|
||||
(gst_ape_demux_handle_src_query), (gst_ape_demux_get_event_mask),
|
||||
(gst_ape_demux_handle_src_event), (gst_ape_demux_handle_event),
|
||||
(gst_ape_demux_typefind_peek), (gst_ape_demux_typefind_get_length),
|
||||
(gst_ape_demux_typefind_suggest), (gst_ape_demux_typefind),
|
||||
(gst_ape_demux_parse_tags), (gst_ape_demux_stream_init),
|
||||
(gst_ape_demux_stream_data), (gst_ape_demux_loop),
|
||||
(gst_ape_demux_change_state):
|
||||
* gst/apetag/apedemux.h:
|
||||
* gst/apetag/apetag.c: (plugin_init):
|
||||
* gst/typefind/gsttypefindfunctions.c: (apetag_type_find),
|
||||
(plugin_init):
|
||||
APE v1/2 tag reader plus typefind function.
|
||||
|
||||
2004-11-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* configure.ac:
|
||||
|
|
|
@ -329,6 +329,7 @@ GST_PLUGINS_ALL="\
|
|||
ac3parse \
|
||||
adder \
|
||||
alpha \
|
||||
apetag \
|
||||
asfdemux \
|
||||
audioconvert \
|
||||
audioscale \
|
||||
|
@ -1846,12 +1847,13 @@ gst/Makefile
|
|||
gst/ac3parse/Makefile
|
||||
gst/adder/Makefile
|
||||
gst/alpha/Makefile
|
||||
gst/apetag/Makefile
|
||||
gst/asfdemux/Makefile
|
||||
gst/audioconvert/Makefile
|
||||
gst/audioscale/Makefile
|
||||
gst/audiorate/Makefile
|
||||
gst/auparse/Makefile
|
||||
gst/avi/Makefile
|
||||
gst/asfdemux/Makefile
|
||||
gst/cdxaparse/Makefile
|
||||
gst/chart/Makefile
|
||||
gst/colorspace/Makefile
|
||||
|
|
|
@ -190,6 +190,31 @@ id3_type_find (GstTypeFind * tf, gpointer unused)
|
|||
}
|
||||
}
|
||||
|
||||
/*** application/x-ape **************************************************************/
|
||||
|
||||
static GstStaticCaps apetag_caps = GST_STATIC_CAPS ("application/x-apetag");
|
||||
|
||||
#define APETAG_CAPS gst_static_caps_get(&apetag_caps)
|
||||
static void
|
||||
apetag_type_find (GstTypeFind * tf, gpointer unused)
|
||||
{
|
||||
guint8 *data;
|
||||
|
||||
/* APEv1/2 at start of file */
|
||||
data = gst_type_find_peek (tf, 0, 8);
|
||||
if (data && !memcmp (data, "APETAGEX", 8)) {
|
||||
gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, APETAG_CAPS);
|
||||
return;
|
||||
}
|
||||
|
||||
/* APEv1/2 at end of file */
|
||||
data = gst_type_find_peek (tf, -32, 8);
|
||||
if (data && !memcmp (data, "APETAGEX", 8)) {
|
||||
gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, APETAG_CAPS);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*** audio/x-ttafile *********************************************************/
|
||||
|
||||
static GstStaticCaps tta_caps = GST_STATIC_CAPS ("audio/x-ttafile");
|
||||
|
@ -1406,6 +1431,7 @@ plugin_init (GstPlugin * plugin)
|
|||
static gchar *flx_exts[] = { "flc", "fli", NULL };
|
||||
static gchar *id3_exts[] =
|
||||
{ "mp3", "mp2", "mp1", "mpga", "ogg", "flac", "tta", NULL };
|
||||
static gchar *apetag_exts[] = { "ape", "mpc", NULL };
|
||||
static gchar *tta_exts[] = { "tta", NULL };
|
||||
static gchar *mod_exts[] = { "669", "amf", "dsm", "gdm", "far", "imf",
|
||||
"it", "med", "mod", "mtm", "okt", "sam",
|
||||
|
@ -1472,6 +1498,8 @@ plugin_init (GstPlugin * plugin)
|
|||
flx_exts, FLX_CAPS, NULL);
|
||||
TYPE_FIND_REGISTER (plugin, "application/x-id3", GST_RANK_PRIMARY,
|
||||
id3_type_find, id3_exts, ID3_CAPS, NULL);
|
||||
TYPE_FIND_REGISTER (plugin, "application/x-apetag", GST_RANK_PRIMARY,
|
||||
apetag_type_find, apetag_exts, APETAG_CAPS, NULL);
|
||||
TYPE_FIND_REGISTER (plugin, "audio/x-ttafile", GST_RANK_PRIMARY,
|
||||
tta_type_find, tta_exts, TTA_CAPS, NULL);
|
||||
TYPE_FIND_REGISTER (plugin, "audio/x-mod", GST_RANK_SECONDARY, mod_type_find,
|
||||
|
|
Loading…
Reference in a new issue