Allow setting RTMP language

This commit is contained in:
Thulinma 2020-03-11 16:40:50 +01:00
parent a8c7bc5d27
commit a3e0d1ac85
3 changed files with 17 additions and 4 deletions

View file

@ -818,9 +818,10 @@ unsigned int FLV::Tag::getDataLen(){
void FLV::Tag::toMeta(DTSC::Meta &meta, AMF::Object &amf_storage){
size_t reTrack = INVALID_TRACK_ID;
toMeta(meta, amf_storage, reTrack);
std::map<std::string, std::string> targetParams;
toMeta(meta, amf_storage, reTrack, targetParams);
}
void FLV::Tag::toMeta(DTSC::Meta &meta, AMF::Object &amf_storage, size_t &reTrack){
void FLV::Tag::toMeta(DTSC::Meta &meta, AMF::Object &amf_storage, size_t &reTrack, const std::map<std::string, std::string> &targetParams){
std::string trackType;
switch (data[0]){
case 0x09: trackType = "video"; break; // video
@ -849,6 +850,9 @@ void FLV::Tag::toMeta(DTSC::Meta &meta, AMF::Object &amf_storage, size_t &reTrac
if (reTrack == INVALID_TRACK_ID){
reTrack = meta.addTrack();
meta.setID(reTrack, getTrackID());
if (targetParams.count("lang")){
meta.setLang(reTrack, targetParams.at("lang"));
}
}
std::string codec = meta.getCodec(reTrack);

View file

@ -54,7 +54,7 @@ namespace FLV{
bool DTSCAudioInit(DTSC::Meta &meta, uint32_t aTrack);
bool DTSCMetaInit(const DTSC::Meta &M, std::set<long unsigned int> &selTracks);
void toMeta(DTSC::Meta &meta, AMF::Object &amf_storage);
void toMeta(DTSC::Meta &meta, AMF::Object &amf_storage, size_t &reTrack);
void toMeta(DTSC::Meta &meta, AMF::Object &amf_storage, size_t &reTrack, const std::map<std::string, std::string> &targetParams);
bool MemLoader(char *D, unsigned int S, unsigned int &P);
bool FileLoader(FILE *f);
unsigned int getTrackID();