Audio Metadata
Sree Gowri
sreegowris at gmail.com
Tue Apr 24 09:12:39 PDT 2012
On Tue, Apr 24, 2012 at 5:46 PM, Stefan Sauer <ensonic at hora-obscura.de>wrote:
> **
> On 04/24/2012 11:18 AM, Sree Gowri wrote:
>
>
>
> On Mon, Apr 16, 2012 at 12:53 AM, Stefan Sauer <ensonic at hora-obscura.de>wrote:
>
>> On 04/12/2012 06:23 AM, Sree Gowri wrote:
>>
>> Hi,
>>
>> I am trying to extract audio metadata like
>> streamurl,streamtitle,artist,genre,album.However I am not able to extract
>> the metadata using GstTagList. Below is the snippet of the code. Does
>> anyone suggest what are the additions to be done in order to extract the
>> metadata?
>>
>> Only the following data has been extracted.
>> layer: 3
>> mode: joint
>> emphasis: none
>> audio codec: MPEG-1 layer 3
>> bitrate: 128000
>>
>> Pipeline is as follows:
>>
>> [code]
>> app->pipeline= gst_parse_launch("appsrc name=mysource ! audio/mpeg ! mad
>> ! alsasink", NULL);
>> [/code]
>>
>> "appsrc name=mysource ! audio/mpeg ! mp3parse ! mad ! alsasink"
>> or even better
>> "appsrc name=mysource ! audio/mpeg ! decodebin2 ! alsasink"
>>
>> Stefan
>>
>>
>> Audio data fed to the appsrc element
>>
>> [code]
>> buf =( GstBuffer *) gst_app_buffer_new (data, READBUF, g_free, data);
>> g_signal_emit_by_name (GST_APP_SRC (app->appsrc), "push-buffer", buf,
>> &ret);
>> [/code]
>>
>> Bus message
>>
>> [code]
>> case GST_MESSAGE_TAG:
>> {
>> GstTagList *tags = NULL;
>> char *artist;
>> gst_message_parse_tag (message, &tags);
>> g_print ("Got tags from element %s:\n", GST_OBJECT_NAME
>> (message->src));
>> if (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &artist))
>> {
>> printf("got artist: %s\n",artist);
>> }
>> else
>> {
>> printf("no artist!! \n");
>> }
>> gst_tag_list_foreach (tags, print_tag, NULL);
>> g_print ("\n");
>> gst_tag_list_free (tags);
>> break;
>> [/code]
>>
>> print_tag function code
>> [code]
>> static void print_tag (const GstTagList * list, const gchar * tag,
>> gpointer unused)
>> {
>> gint i, count;
>> count = gst_tag_list_get_tag_size (list, tag);
>> for (i = 0; i < count; i++) {
>> gchar *str;
>> if (gst_tag_get_type (tag) == G_TYPE_STRING) {
>> if (!gst_tag_list_get_string_index (list, tag, i, &str))
>> g_assert_not_reached ();
>>
>> } else {
>> str =
>> g_strdup_value_contents (gst_tag_list_get_value_index (list,
>> tag, i));
>> }
>> if (i == 0) {
>> g_print (" %15s: %s\n", gst_tag_get_nick (tag), str);
>> } else {
>> g_print (" : %s\n", str);
>> }
>> g_free (str);
>> }
>> }
>> [/code]
>>
>> Thanks and Regards,
>> Sree Gowri
>>
>> Hi stephan,
>
> First would like to thank you for the input you provided.
>
> I tried both the pipelines that you have mentioned,however meta data
> has not been extracted.
>
> Kindly request you to let me know if there are any other changes that
> needs to be done.
>
>
> Are you sure the stream you are looking at is tagged with such metadata?
> Try gst-launch-0.10 -t playbin2 uri=...
>
> Stefan
>
Yes the stream contains the metadata like streamTitle, streamUrl. In
order to check does the stream really has metadata, appsrc buffer is
written to a file and checked using hexedit and I can find the
metadata.Sure will try your suggestion tomorrow and update you. Thankyou.
>
>
>
> Regards,
> Sree Gowri
>
>
>>
>> _______________________________________________
>> gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>
> _______________________________________________
> gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120424/2efba888/attachment.html>
More information about the gstreamer-devel
mailing list