<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 16, 2012 at 12:53 AM, Stefan Sauer <span dir="ltr">&lt;<a href="mailto:ensonic@hora-obscura.de" target="_blank">ensonic@hora-obscura.de</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div bgcolor="#ffffff" text="#000000"><div>
    On 04/12/2012 06:23 AM, Sree Gowri wrote:
    <blockquote type="cite"><font face="Default Sans
        Serif,Verdana,Arial,Helvetica,sans-serif">Hi,<br>
        <br>
        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?<br>
        <br>
        Only the following data has been extracted.<br>
                     layer: 3<br>
                     mode: joint<br>
                     emphasis: none<br>
                     audio codec: MPEG-1 layer 3<br>
                     bitrate: 128000<br>
        <br>
        Pipeline is as follows:<br>
        <br>
        [code]<br>
        app-&gt;pipeline= gst_parse_launch(&quot;appsrc name=mysource !
        audio/mpeg  ! mad !  alsasink&quot;, NULL);<br>
        [/code]<br>
      </font></blockquote>
    </div><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">&quot;appsrc
      name=mysource ! audio/mpeg  ! </font>mp3parse <font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif">! mad
      !  alsasink&quot;<br>
      or even better<br>
    </font><font face="Default Sans
      Serif,Verdana,Arial,Helvetica,sans-serif">&quot;appsrc name=mysource !
      audio/mpeg  ! decodebin2</font><font face="Default Sans
      Serif,Verdana,Arial,Helvetica,sans-serif"> !  alsasink&quot;</font><br>
    <br>
    Stefan<br>
    <br>
    <blockquote type="cite"><div><div><font face="Default Sans
        Serif,Verdana,Arial,Helvetica,sans-serif"><br>
        Audio data fed to the appsrc element<br>
        <br>
        [code]<br>
        buf =( GstBuffer *) gst_app_buffer_new (data, READBUF, g_free,
        data);<br>
        g_signal_emit_by_name (GST_APP_SRC (app-&gt;appsrc),
        &quot;push-buffer&quot;, buf, &amp;ret);<br>
        [/code]<br>
        <br>
        Bus message<br>
        <br>
        [code]<br>
        case GST_MESSAGE_TAG:<br>
        {<br>
            GstTagList *tags = NULL;<br>
                char *artist;<br>
                gst_message_parse_tag (message, &amp;tags);<br>
                g_print (&quot;Got tags from element %s:\n&quot;, GST_OBJECT_NAME
        (message-&gt;src));<br>
                if (gst_tag_list_get_string (tags, GST_TAG_ARTIST,
        &amp;artist))<br>
                {<br>
                   printf(&quot;got artist: %s\n&quot;,artist);<br>
                }<br>
                else<br>
                {<br>
                  printf(&quot;no artist!! \n&quot;);<br>
                }<br>
                gst_tag_list_foreach (tags, print_tag, NULL);<br>
                g_print (&quot;\n&quot;);<br>
                gst_tag_list_free (tags);<br>
                break;<br>
        [/code]<br>
        <br>
        print_tag function code<br>
        [code]<br>
        static void print_tag (const GstTagList * list, const gchar *
        tag, gpointer unused)<br>
        {<br>
          gint i, count;<br>
          count = gst_tag_list_get_tag_size (list, tag);<br>
          for (i = 0; i &lt; count; i++) {<br>
            gchar *str;<br>
            if (gst_tag_get_type (tag) == G_TYPE_STRING) {<br>
              if (!gst_tag_list_get_string_index (list, tag, i,
        &amp;str))<br>
                g_assert_not_reached ();<br>
         <br>
            } else {<br>
              str =<br>
                  g_strdup_value_contents (gst_tag_list_get_value_index
        (list, tag, i));<br>
            }<br>
            if (i == 0) {<br>
              g_print (&quot;  %15s: %s\n&quot;, gst_tag_get_nick (tag), str);<br>
            } else {<br>
              g_print (&quot;                 : %s\n&quot;, str);<br>
            }<br>
            g_free (str); <br>
          }<br>
        }<br>
        [/code]<br>
        <br>
        Thanks and Regards,<br>
        Sree Gowri<br></font></div></div></blockquote></div></blockquote><div>      Hi stephan,<br><br>      First would like to thank you for the input you provided.<br>    <br>      I tried both the pipelines that you have mentioned,however meta data has not been    extracted.<br>
  <br>     Kindly request you to let me know if there are any other changes that needs to be done.<br> <br>Regards,<br>Sree Gowri<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#ffffff" text="#000000"><blockquote type="cite"><div><div><font face="Default Sans
        Serif,Verdana,Arial,Helvetica,sans-serif">
      </font>
      </div></div><pre><fieldset></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>