ffmpeg: implement Copyright() (resolves TODO) + typo fix

This commit is contained in:
Philippe Saint-Pierre
2012-06-24 20:47:39 -04:00
parent 2804cb332f
commit 4dea247cee
@@ -17,10 +17,13 @@
#include <DataIO.h> #include <DataIO.h>
#include <MediaDefs.h> #include <MediaDefs.h>
#include <MediaFormats.h> #include <MediaFormats.h>
#include <InterfaceDefs.h>
#include <String.h>
extern "C" { extern "C" {
#include "avcodec.h" #include "avcodec.h"
#include "avformat.h" #include "avformat.h"
#include "dict.h"
} }
#include "DemuxerTable.h" #include "DemuxerTable.h"
@@ -1478,12 +1481,14 @@ AVFormatReader::~AVFormatReader()
const char* const char*
AVFormatReader::Copyright() AVFormatReader::Copyright()
{ {
// TODO: Could not find the equivalent in libavformat >= version 53. BMessage* message = new BMessage();
// Use metadata API instead! if (GetMetaData(message) == B_OK) {
// if (fStreams != NULL && fStreams[0] != NULL) const char* copyright;
// return fStreams[0]->Context()->copyright; if (message->FindString("copyright", &copyright) == B_OK)
// TODO: Return copyright of the file instead! return copyright;
return "Copyright 2009, Stephan Aßmus"; }
delete message;
return "";
} }
@@ -1638,9 +1643,9 @@ AVFormatReader::GetMetaData(BMessage* _data)
// Add program info // Add program info
for (unsigned i = 0; i < context->nb_programs; i++) { for (unsigned i = 0; i < context->nb_programs; i++) {
BMessage progamData; BMessage programData;
avdictionary_to_message(context->programs[i]->metadata, &progamData); avdictionary_to_message(context->programs[i]->metadata, &programData);
_data->AddMessage("be:program", &progamData); _data->AddMessage("be:program", &programData);
} }
return B_OK; return B_OK;