]> git.sesse.net Git - kdenlive/blob - src/lib/audio/audioStreamInfo.cpp
Use QLatin1String
[kdenlive] / src / lib / audio / audioStreamInfo.cpp
1 /*
2 Copyright (C) 2012  Simon A. Eugster (Granjow)  <simon.eu@gmail.com>
3 This file is part of kdenlive. See www.kdenlive.org.
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9 */
10
11 #include "audioStreamInfo.h"
12
13 #include <QString>
14 #include <iostream>
15 #include <cstdlib>
16
17 AudioStreamInfo::AudioStreamInfo(Mlt::Producer *producer, int audioStreamIndex) :
18     m_audioStreamIndex(audioStreamIndex)
19 {
20     QByteArray key;
21
22     key = QString::fromLatin1("meta.media.%1.codec.sample_fmt").arg(audioStreamIndex).toLocal8Bit();
23     m_samplingFormat = QString::fromLatin1(producer->get(key.data()));
24
25     key = QString::fromLatin1("meta.media.%1.codec.sample_rate").arg(audioStreamIndex).toLocal8Bit();
26     m_samplingRate = atoi(producer->get(key.data()));
27
28     key = QString::fromLatin1("meta.media.%1.codec.bit_rate").arg(audioStreamIndex).toLocal8Bit();
29     m_bitRate = atoi(producer->get(key.data()));
30
31     key = QString::fromLatin1("meta.media.%1.codec.channels").arg(audioStreamIndex).toLocal8Bit();
32     m_channels = atoi(producer->get(key.data()));
33
34     key = QString::fromLatin1("meta.media.%1.codec.name").arg(audioStreamIndex).toLocal8Bit();
35     m_codecName = QString::fromLatin1(producer->get(key.data()));
36
37     key = QString::fromLatin1("meta.media.%1.codec.long_name").arg(audioStreamIndex).toLocal8Bit();
38     m_codecLongName = QString::fromLatin1(producer->get(key.data()));
39 }
40
41 AudioStreamInfo::~AudioStreamInfo()
42 {
43 }
44
45 int AudioStreamInfo::streamIndex() const
46 {
47     return m_audioStreamIndex;
48 }
49
50 int AudioStreamInfo::samplingRate() const
51 {
52     return m_samplingRate;
53 }
54
55 int AudioStreamInfo::channels() const
56 {
57     return m_channels;
58 }
59
60 int AudioStreamInfo::bitrate() const
61 {
62     return m_bitRate;
63 }
64
65 const QString& AudioStreamInfo::codecName(bool longName) const
66 {
67     if (longName) {
68         return m_codecLongName;
69     } else {
70         return m_codecName;
71     }
72 }
73
74 void AudioStreamInfo::dumpInfo() const
75 {
76     std::cout << "Info for audio stream " << m_audioStreamIndex << std::endl
77               << "\tCodec: " << m_codecLongName.toLocal8Bit().data() << " (" << m_codecName.toLocal8Bit().data() << ")" << std::endl
78               << "\tChannels: " << m_channels << std::endl
79               << "\tSampling rate: " << m_samplingRate << std::endl
80               << "\tBit rate: " << m_bitRate << std::endl
81                  ;
82
83 }