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