static PyObject * _wrap_gst_tag_id3_genre_count(PyObject *self) { guint ret; pyg_begin_allow_threads; ret = gst_tag_id3_genre_count(); pyg_end_allow_threads; return PyLong_FromUnsignedLong(ret); }
EXPORT_C #endif GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data) { guint year; gchar *ystr; GstTagList *list; g_return_val_if_fail (data != NULL, NULL); if (data[0] != 'T' || data[1] != 'A' || data[2] != 'G') return NULL; list = gst_tag_list_new (); gst_tag_extract_id3v1_string (list, GST_TAG_TITLE, (gchar *) & data[3], 30); gst_tag_extract_id3v1_string (list, GST_TAG_ARTIST, (gchar *) & data[33], 30); gst_tag_extract_id3v1_string (list, GST_TAG_ALBUM, (gchar *) & data[63], 30); ystr = g_strndup ((gchar *) & data[93], 4); year = strtoul (ystr, NULL, 10); g_free (ystr); if (year > 0) { GDate *date = g_date_new_dmy (1, 1, year); gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, GST_TAG_DATE, date, NULL); g_date_free (date); } if (data[125] == 0 && data[126] != 0) { gst_tag_extract_id3v1_string (list, GST_TAG_COMMENT, (gchar *) & data[97], 28); gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, GST_TAG_TRACK_NUMBER, (guint) data[126], NULL); } else { gst_tag_extract_id3v1_string (list, GST_TAG_COMMENT, (gchar *) & data[97], 30); } if (data[127] < gst_tag_id3_genre_count () && !gst_tag_list_is_empty (list)) { gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, GST_TAG_GENRE, gst_tag_id3_genre_get (data[127]), NULL); } return list; }