From 6169265a8ab53c655ac8f563da390aa9f4afc712 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Tue, 12 Aug 2014 13:53:44 +0200 Subject: [PATCH] OutputFile: add addMetadata Can add metadata from a map or from key / value. --- src/AvTranscoder/File/OutputFile.cpp | 18 ++++++++++++++++++ src/AvTranscoder/File/OutputFile.hpp | 9 +++++++++ 2 files changed, 27 insertions(+) diff --git a/src/AvTranscoder/File/OutputFile.cpp b/src/AvTranscoder/File/OutputFile.cpp index 2df4bd34..1b38e5a1 100644 --- a/src/AvTranscoder/File/OutputFile.cpp +++ b/src/AvTranscoder/File/OutputFile.cpp @@ -204,6 +204,24 @@ bool OutputFile::endWrap( ) return true; } +void OutputFile::addMetadata( const MetadatasMap& dataMap ) +{ + for( MetadatasMap::const_iterator it = dataMap.begin(); it != dataMap.end(); ++it ) + { + addMetadata( it->first, it->second ); + } +} + +void OutputFile::addMetadata( const std::string& key, const std::string& value ) +{ + int ret = av_dict_set( &_formatContext->metadata, key.c_str(), value.c_str(), 0 ); + if( ret < 0 ) + { + char err[250]; + av_strerror( ret, err, 250 ); + std::cout << err << std::endl; + } +} void OutputFile::setProfile( const Profile::ProfileDesc& desc ) { diff --git a/src/AvTranscoder/File/OutputFile.hpp b/src/AvTranscoder/File/OutputFile.hpp index 35a20348..d7effd3d 100644 --- a/src/AvTranscoder/File/OutputFile.hpp +++ b/src/AvTranscoder/File/OutputFile.hpp @@ -3,6 +3,8 @@ #include +#include + #include #include #include @@ -98,6 +100,13 @@ class AvExport OutputFile * @param desc: the profile of the output format */ virtual void setProfile( const Profile::ProfileDesc& desc ); + + /** + * @brief Add metadata to the output file. + * @note Depending on the format, you are not sure to find your metadata after the transcode. + */ + virtual void addMetadata( const MetadatasMap& dataMap ); + virtual void addMetadata( const std::string& key, const std::string& value ); virtual void setVerbose( bool verbose = false ){ _verbose = verbose; } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy