Re: [Rhythmbox-devel] FLAC stream info patch



Hi Colin, thanks for taking a look at this.

On Tue, 2003-05-27 at 22:18, Colin Walters wrote:
> >         case MONKEY_MEDIA_STREAM_INFO_FIELD_AUDIO_TRM_ID:
> > -               /* FIXME */
> >                 g_value_init (value, G_TYPE_STRING);
> > +               tmp = FLAC_stream_info_impl_vc_tag_get_utf8 (info, "MUSICBRAINZ_TRMID");
> >                 g_value_set_string (value, NULL);
> > +               g_free (tmp);
> >                 break;
> 
> This looks wrong to me; shouldn't that be:
> g_value_set_string (value, tmp); ?

Right you are, good eyes.

> > +                       canonical_uri = gnome_vfs_make_uri_canonical (uri);
> > +                       local_path = gnome_vfs_get_local_path_from_uri (canonical_uri);
> > +                       if (FLAC__metadata_get_streaminfo (local_path, &streaminfo) == true)
> 
> There's no way to read the vorbiscomment metadata over gnomevfs?  Ogg
> Vorbis supports this with its ov_callbacks thing.

I'm pretty sure that the only available interface for reading metadata
requires a filename.  See
http://flac.sourceforge.net/api/group__flac__metadata.html.

However, I just came across some helper methods in libFLAC that I missed
before that will make this patch simpler.  It also looks like it will be
a minimal amount of work to support writing metadata also!  Let me get
back to you with an updated patch.

I was looking some at the vorbis-stream-impl source, and realized that
foo_stream_info_impl_get_n_values() is supposed to return the *number*
of values found, not just a boolean.  But then how do you return a
vector of strings from foo_stream_info_impl_get_value()?  I'm not very
familiar with the GObject business.

Josh



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]