aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/CommandLineOptions/SeekOption/SeekOption.pro
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-04-24 21:26:46 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-04-24 21:26:46 +0000
commit2f766cd3906b2a9534321d955589cd4d9212b175 (patch)
tree8a4bf870fe20a12bc7fd82c79b597bb32667029d /src/plugins/CommandLineOptions/SeekOption/SeekOption.pro
parentcb8d2a8d840deb8c51d945d213067c8d5fae6032 (diff)
downloadqmmp-2f766cd3906b2a9534321d955589cd4d9212b175.tar.gz
qmmp-2f766cd3906b2a9534321d955589cd4d9212b175.tar.bz2
qmmp-2f766cd3906b2a9534321d955589cd4d9212b175.zip
added TrackInfo class
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7935 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/CommandLineOptions/SeekOption/SeekOption.pro')
0 files changed, 0 insertions, 0 deletions
***************************************************************************/ #include "ffmpegmetadatamodel.h" FFmpegMetaDataModel::FFmpegMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) { m_in = 0; if (avformat_open_input(&m_in, path.toLocal8Bit().constData(), 0, 0) < 0) return; avformat_find_stream_info(m_in, 0); av_read_play(m_in); } FFmpegMetaDataModel::~FFmpegMetaDataModel() { if(m_in) avformat_close_input(&m_in); } QHash<QString, QString> FFmpegMetaDataModel::audioProperties() { QHash<QString, QString> ap; if(!m_in) return ap; QString text = QString("%1").arg(int(m_in->duration/AV_TIME_BASE)/60); text +=":"+QString("%1").arg(int(m_in->duration/AV_TIME_BASE)%60,2,10,QChar('0')); ap.insert(tr("Length"), text); ap.insert(tr("File size"), QString("%1 ").arg(avio_size(m_in->pb)) + " " + tr("KB")); ap.insert(tr("Bitrate"), QString("%1 "+tr("kbps")).arg(m_in->bit_rate/1000)); AVCodecContext *c = 0; uint wma_idx; for (wma_idx = 0; wma_idx < m_in->nb_streams; wma_idx++) { c = m_in->streams[wma_idx]->codec; if (c->codec_type == AVMEDIA_TYPE_AUDIO) break; } if (c) { ap.insert(tr("Sample rate"), QString("%1 " + tr("Hz")).arg(c->sample_rate)); ap.insert(tr("Channels"), QString("%1").arg(c->channels)); } return ap; }