Audio Metadata

Sree Gowri sreegowris at gmail.com
Thu Apr 26 10:53:10 PDT 2012


On Wed, Apr 25, 2012 at 12:19 PM, Sree Gowri <sreegowris at gmail.com> wrote:

>
>
> On Tue, Apr 24, 2012 at 9:42 PM, Sree Gowri <sreegowris at gmail.com> wrote:
>
>>
>>
>> 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
>
>      Hi Stephan,
>
>       gst-launch-0.10 -t playbin2 uri=.... is also not extracting the
> metadata.
>
>       Actually I am streaming the shoutcast stream.Audio stream data is
> feed to the appsrc element.
>     Following is the header that is received
>
> ICY 200 OK^M
> icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/
> ">Winamp</a><BR>^M
> icy-notice2:SHOUTcast Distributed Network Audio Server/win32 v1.9.8<BR>^M
> icy-name:Radio Afsana Online 24/7 Radio - New - Remix: Non-Stop^M
> icy-genre:Desi, Hindi , Bollywood, Fiji, Indian^M
> icy-url:http://www.radioafsana.com^M
> content-type:audio/mpeg^M
> icy-pub:1^M
> icy-metaint:8192^M
> icy-br:128^M
>
> Metadata is available as "StreamTitle='Aditi Singh Sharma - Luv Ka The End
> - LUV KA THE END."
> However I am not able to extract the same.
>
> Also not able to extract the metadata for the downloaded mp3 file using
> the following pipelines. However the above command that you mentioned will
> extract the metadata for the downloaded mp3 file
>
>
> appsrc name=mysource ! audio/mpeg  ! mad !  alsasink
> appsrc name=mysource ! audio/mpeg  ! mp3parse ! mad !  alsasink
> appsrc name=mysource ! audio/mpeg  ! decodebin2 !  alsasink
>
> Your input would be of great help.
>
> 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
>>>
>>>
>> Hi Stephan,
>

I am still stuck with metadata parsing as mentioned earlier. Could you
please help me.

Thanks and Regards,
Sree Gowri
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120426/3fa34cc0/attachment.htm>


More information about the gstreamer-devel mailing list