Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 307845 Details for
Bug 410235
net-misc/mediatomb-0.12.1-r1 with media-libs/libmp4v2-1.9.1_p479 - ../src/metadata/libmp4v2_handler.cc:77:48: error: ‘MP4GetMetadataName’ was not declared in this scope
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for the libmp4v2-handling
mediatomb-0.12.1-libmp4v2_191_p479.patch (text/plain), 5.75 KB, created by
Peter Asplund
on 2012-04-05 00:12:02 UTC
(
hide
)
Description:
Patch for the libmp4v2-handling
Filename:
MIME Type:
Creator:
Peter Asplund
Created:
2012-04-05 00:12:02 UTC
Size:
5.75 KB
patch
obsolete
>diff -urN old/src/metadata/libmp4v2_handler.cc new/src/metadata/libmp4v2_handler.cc >--- old/src/metadata/libmp4v2_handler.cc 2012-04-05 01:46:26.000000000 +0200 >+++ new/src/metadata/libmp4v2_handler.cc 2012-04-05 02:01:24.000000000 +0200 >@@ -65,29 +65,28 @@ > static void addMetaField(metadata_fields_t field, MP4FileHandle mp4, Ref<CdsItem> item) > { > String value; >- char* mp4_retval = NULL; >- u_int16_t track; >- u_int16_t total_tracks; >- > Ref<StringConverter> sc = StringConverter::i2i(); > >+ const MP4Tags* new_tags = MP4TagsAlloc(); >+ >+ if (!MP4TagsFetch(new_tags, mp4)) >+ return; >+ > switch (field) > { > case M_TITLE: >- MP4GetMetadataName(mp4, &mp4_retval); >+ value = new_tags->name; > break; > case M_ARTIST: >- MP4GetMetadataArtist(mp4, &mp4_retval); >+ value = new_tags->artist; > break; > case M_ALBUM: >- MP4GetMetadataAlbum(mp4, &mp4_retval); >+ value = new_tags->album; > break; > case M_DATE: >- MP4GetMetadataYear(mp4, &mp4_retval); >- if (mp4_retval) >+ value = new_tags->releaseDate; >+ if (value.length() > 0) > { >- value = mp4_retval; >- free(mp4_retval); > if (string_ok(value)) > value = value + "-01-01"; > else >@@ -95,34 +94,31 @@ > } > break; > case M_GENRE: >- MP4GetMetadataGenre(mp4, &mp4_retval); >+ value = new_tags->genre; > break; > case M_DESCRIPTION: >- MP4GetMetadataComment(mp4, &mp4_retval); >+ value = new_tags->comments; > break; > case M_TRACKNUMBER: >- MP4GetMetadataTrack(mp4, &track, &total_tracks); >- if (track > 0) >+ if (new_tags->track) > { >- value = String::from(track); >- item->setTrackNumber((int)track); >+ value = String::from(new_tags->track->index); >+ item->setTrackNumber((int)new_tags->track->index); > } > else >+ { >+ MP4TagsFree( new_tags ); > return; >+ } > break; > default: >+ MP4TagsFree( new_tags ); > return; > } > >- if ((field != M_DATE) && (field != M_TRACKNUMBER) && >- (mp4_retval)) >- { >- value = mp4_retval; >- free(mp4_retval); >- } >- >+ MP4TagsFree( new_tags ); > value = trim_string(value); >- >+ > if (string_ok(value)) > { > item->setMetadata(MT_KEYS[field].upnp, sc->convert(value)); >@@ -190,14 +186,19 @@ > } > > #if defined(HAVE_MAGIC) >- u_int8_t *art_data; >- u_int32_t art_data_len; >+ void *art_data = 0; >+ u_int32_t art_data_len = 0; > String art_mimetype; >+ >+ const MP4Tags* new_tags = MP4TagsAlloc(); >+ MP4TagsFetch(new_tags, mp4); >+ if (new_tags->artworkCount) >+ { >+ art_data = new_tags->artwork->data; >+ art_data_len = new_tags->artwork->size; >+ } > #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT >- if (MP4GetMetadataCoverArtCount(mp4) && >- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len)) >-#else >- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len); >+ if (new_tags->artworkCount && art_data_len > 0) > #endif > { > if (art_data) >@@ -211,11 +212,10 @@ > } > catch (Exception ex) > { >- free(art_data); >+ MP4TagsFree(new_tags); > throw ex; > } > >- free(art_data); > if (art_mimetype != _(MIMETYPE_DEFAULT)) > { > Ref<CdsResource> resource(new CdsResource(CH_MP4)); >@@ -225,6 +225,7 @@ > } > } > } >+ MP4TagsFree(new_tags); > #endif > MP4Close(mp4); > } >@@ -249,26 +250,35 @@ > > if (ctype != ID3_ALBUM_ART) > throw _Exception(_("LibMP4V2Handler: got unknown content type: ") + ctype); >+ >+ const MP4Tags* new_tags = MP4TagsAlloc(); >+ if (MP4TagsFetch(new_tags, mp4)) >+ { > #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT >- if (!MP4GetMetadataCoverArtCount(mp4)) >- throw _Exception(_("LibMP4V2Handler: resource has no album art information")); >+ if (!new_tags->artworkCount) >+ throw _Exception(_("LibMP4V2Handler: resource has no album art information")); > #endif >- u_int8_t *art_data; >- u_int32_t art_data_len; >- if (MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len)) >- { >- if (art_data) >+ void *art_data = 0; >+ u_int32_t art_data_len; >+ >+ const MP4TagArtwork* art = new_tags->artwork; >+ art_data = art->data; >+ art_data_len = art->size; >+ if (art) > { >- *data_size = (off_t)art_data_len; >- Ref<IOHandler> h(new MemIOHandler((void *)art_data, art_data_len)); >- free(art_data); >- return h; >+ if (art_data) >+ { >+ *data_size = (off_t)art_data_len; >+ Ref<IOHandler> h(new MemIOHandler(art_data, art_data_len)); >+ MP4TagsFree(new_tags); >+ return h; >+ } > } >+ MP4TagsFree(new_tags); > } >- > throw _Exception(_("LibMP4V2Handler: could not serve album art " >- "for file") + item->getLocation() + >- " - embedded image not found"); >+ "for file") + item->getLocation() + >+ " - embedded image not found"); > } > > #endif // HAVE_LIBMP4V2 >De binära filerna old/src/metadata/.libmp4v2_handler.cc.swp och new/src/metadata/.libmp4v2_handler.cc.swp skiljer
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 410235
:
307181
| 307845 |
307847