rmdemux looses tags...

andrea sarkiaponius at alice.it
Sat Sep 3 04:14:48 PDT 2011


On Sat, 2011-09-03 at 00:16 +0100, Tim-Philipp Müller wrote:
> On Fri, 2011-09-02 at 21:40 +0200, andrea wrote:
> 
> Hi,
> 
> > I'm trying to convert RealAudio streams to MP3, using a gst-launch
> > command line like the following one:
> > 
> > $ gst-launch -t filesrc location=ra/ilgattopardo/ilgattopardo1.ra \
> > ! decodebin2 ! lamemp3enc ! id3v2mux \
> > ! filesink location=ilgattopardo1.mp3
> > 
> > It works perfectly, except for the tags, which I told are found by
> > rmdemux, but are not passed over to id3v2mux. Actually, look at the
> > following command line and its output:
> > 
> > $ gst-launch -t filesrc location=ra/ilgattopardo/ilgattopardo1.ra \
> > ! decodebin2 ! fakesink
> > Setting pipeline to PAUSED ...
> > Pipeline is PREROLLING ...
> > FOUND TAG      : found by element "rmdemux0".
> >            title: Il Gattopardo  -  1 p.ta
> >           artist: Terzo Anello  -  Ad alta voce
> >        copyright: Copyright © 1997 2000 Netia Digital Audio
> > <more output...>
> > 
> > Title and artist are found, but no way to have them in the MP3 file.
> > 
> > Note that if the source is already an MP3 file, the original tags are
> > copied over even if the file is resampled or such.
> > 
> > This is quite annoying, since I have tons of such files, and many more I
> > have to download: many have rather useless names, whilst the tags are
> > much more useful.
> 
> File a bug in bugzilla please.
> 
> The important thing for transcoding is that the tags also get sent
> downstream as a tag *event* (the tag message posted on the bus is only
> for the app, not downstream elements). However, the code seems to use
> the right API (gst_element_found_tags*()), so this should happen
> already. Check with gst-launch -v if the tag event makes it to fakesink.
> 
Thanks for your kind answer. Here is the output of the same cmd above,
but with the -v option and a "grep -i event" to filter the incredibly
long output:

/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event
******* E (type: 102, GstEventNewsegment, update=(boolean)false,
rate=(double)1, applied-rate=(double)1,
format=(GstFormat)GST_FORMAT_TIME, start=(gint64)0, stop=(gint64)-1,
position=(gint64)0;) 0x1c509c0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event
******* E (type: 118, taglist, maximum-bitrate=(uint)20689,
bitrate=(uint)20689, audio-codec=(string)\"Real\\ Audio\\ G2\\ \\(Cook\
\)\";) 0x1c50a00"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event
******* E (type: 86, ) 0x1c50a40"

I guess the second event, concerning taglist, could mean that tags reach
the fakesink, but they are just stream info tags, not title or such.

Before I file a bug, could you please tell me what you think about the
above lines?

Best regards.

> Cheers
>  -Tim
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-- 
Andrea <sarkiaponius'at'alice.it>


More information about the gstreamer-devel mailing list