[gst-devel] write ogg tags

Andreas Volz lists at brachttal.net
Tue Jan 2 18:08:05 CET 2007


Am Mon, 01 Jan 2007 23:52:43 +0000 schrieb Tim Müller:

> On Mon, 2007-01-01 at 22:14 +0100, Andreas Volz wrote:
> 
> > Yes, this really helps. I write the tags only while encoding. Do you
> > know a player that shows really *all* Vorbis tags? Most player show
> > only some tags. But I need to display some uncommon tags like e.g.
> > location. Is my only choose to write my own little player?
> 
> Not sure I understand what you're really after, but
> 
>   gst-launch-0.10 -t playbin uri=file:///home/andreas/foo.ogg
> 
> should show _all_ vorbis tags in one way or another (at least with the
> latest released gstreamer + gst-plugins-base versions). Tags for which
> there are no explicit GStreamer tags should then show up as
> GST_TAG_EXTENDED_COMMENT (which is basically a key=value string tag).
> There's a utility function in libgsttag (part of the gst-plugins-base
> libs) to parse those as well.

Yes, this is good enough. I don't need a complete player. It was only
to control that all tags are correct written. But not all tags are
printed. GST_TAG_LOCATION wasn't printed by the above command. See here
the source:

  gst_tag_setter_add_tags (tagsetter,
                           GST_TAG_MERGE_REPLACE_ALL,
                           GST_TAG_TITLE, "Geo Tagged Voice",
			   GST_TAG_ARTIST, "GPSTrigger",
			   GST_TAG_LOCATION, "GPS 123456790",
			   GST_TAG_VERSION, "0.1",
			   GST_TAG_LICENSE, "Creative Commons
				Attribution-ShareAlike 2.5", NULL);

result:
> gst-launch-0.10 -t playbin uri=file://sound.ogg
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
KENNZEICHEN GEFUNDEN: Von Element »vorbisdec1« gefunden.
           Titel: Geo Tagged Voice
       Künstler: GPSTrigger
         Version: 0.1
          Lizenz: Creative Commons Attribution-ShareAlike 2.5
        Codierer: Xiph.Org libVorbis I 20050304
Version des Codierers: 0
     Audio-Codec: Vorbis
 Normale Bitrate: 80000
         Bitrate: 80000
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock1
Got EOS from element "playbin0".
Execution ended after 1322854000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

So there's GST_TAG_LOCATION. Where is it?

BTW: I need this to tag voices with geographic information.

Another question:

All string fields are gchar. But what's about other languages like
chinese or cyrillic? I assume this field is unicode. But UTF8? UTF16?
Little Endian? Big Endian? I know the situation for MP3 because I read
the spec some time ago. But how is it for vorbis?

regards
Andreas




More information about the gstreamer-devel mailing list