diff --git a/src/kits/media/MediaFile.cpp b/src/kits/media/MediaFile.cpp index ffde93f9d2..f04dc7121f 100644 --- a/src/kits/media/MediaFile.cpp +++ b/src/kits/media/MediaFile.cpp @@ -197,14 +197,25 @@ BMediaFile::GetMetaData(BMessage* _data) const _data->MakeEmpty(); - return fExtractor->GetMetaData(_data); + BMetaData* metaData = NULL; + if (fExtractor->GetMetaData(metaData) == B_OK) { + *_data = *metaData->Message(); + return B_OK; + } + + return B_ERROR; } const char* BMediaFile::Copyright() const { - return fExtractor->Copyright(); + BMetaData data; + BString copyright; + if (fExtractor->GetMetaData(&data) == B_OK) + data.GetString(kCopyright, ©right); + + return copyright.String(); } diff --git a/src/kits/media/MediaTrack.cpp b/src/kits/media/MediaTrack.cpp index a654608be6..fe5f76131e 100644 --- a/src/kits/media/MediaTrack.cpp +++ b/src/kits/media/MediaTrack.cpp @@ -301,7 +301,12 @@ BMediaTrack::GetMetaData(BMessage* _data) const _data->MakeEmpty(); - return fExtractor->GetStreamMetaData(fStream, _data); + BMetaData data; + if (fExtractor->GetStreamMetaData(fStream, &data) != B_OK) { + *_data = *data.Message(); + return B_OK; + } + return B_ERROR; }