QTfrontend/util/LibavInteraction.cpp
changeset 13226 4028d7f85233
parent 12239 8db93a3a29dc
child 13286 1fbf2ac1f13e
equal deleted inserted replaced
13222:d6364e31f9c9 13226:4028d7f85233
   319         desc += pDecoder? pDecoder->name : tr("unknown");
   319         desc += pDecoder? pDecoder->name : tr("unknown");
   320         desc += "\n";
   320         desc += "\n";
   321     }
   321     }
   322     AVDictionaryEntry* pComment = av_dict_get(pContext->metadata, "comment", NULL, 0);
   322     AVDictionaryEntry* pComment = av_dict_get(pContext->metadata, "comment", NULL, 0);
   323     if (pComment)
   323     if (pComment)
   324         desc += QString("\n") + pComment->value;
   324     {
       
   325         // Video comment. We expect a simple key value storage in a particular format
       
   326         // and parse it here so the key names can be localized.
       
   327         desc += QString("\n");
       
   328         QStringList strings = QString(pComment->value).split('\n');
       
   329         QString sPlayer, sTheme, sMap, sRecord;
       
   330         for(int i=0; i < strings.count(); i++)
       
   331         {
       
   332             QString s = strings.at(i);
       
   333             // Original key names are in English, like:
       
   334             //     Key: Value
       
   335             if (s.startsWith("Player: "))
       
   336                 sPlayer = QString(s.mid(8));
       
   337             else if (s.startsWith("Theme: "))
       
   338                 sTheme = QString(s.mid(7));
       
   339             else if (s.startsWith("Map: "))
       
   340                 sMap = QString(s.mid(5));
       
   341             else if (s.startsWith("Record: "))
       
   342                 sRecord = QString(s.mid(8));
       
   343         }
       
   344         if(!sPlayer.isNull())
       
   345             desc += QString(tr("Player: %1")).arg(sPlayer) + "\n";
       
   346         if(!sTheme.isNull())
       
   347             desc += QString(tr("Theme: %1")).arg(sTheme) + "\n";
       
   348         if(!sMap.isNull())
       
   349             desc += QString(tr("Map: %1")).arg(sMap) + "\n";
       
   350         if(!sRecord.isNull())
       
   351             //: As in ‘recording’
       
   352             desc += QString(tr("Record: %1")).arg(sRecord);
       
   353     }
   325     avformat_close_input(&pContext);
   354     avformat_close_input(&pContext);
   326     return desc;
   355     return desc;
   327 }
   356 }
   328 
   357 
   329 #else
   358 #else