1 /***************************************************************************
2 * Copyright (C) 2012 by Simon Andreas Eugster (simon.eu@gmail.com) *
3 * This file is part of kdenlive. See www.kdenlive.org. *
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 2 of the License, or *
8 * (at your option) any later version. *
9 ***************************************************************************/
11 #include "audioInfo.h"
13 #include "audioStreamInfo.h"
17 AudioInfo::AudioInfo(Mlt::Producer *producer) :
20 // Since we already receive an MLT producer, we do not need to initialize MLT:
21 // Mlt::Factory::init(NULL);
23 // Get the number of streams and add the information of each of them if it is an audio stream.
24 int streams = producer->get_int("meta.media.nb_streams");
25 for (int i = 0; i < streams; ++i) {
26 QByteArray propertyName = QString::fromLatin1("meta.media.%1.stream.type").arg(i).toLocal8Bit();
27 const char* streamtype = producer->get(propertyName.data());
28 if (streamtype && strcmp("audio", streamtype) == 0) {
29 m_list << new AudioStreamInfo(producer, i);
34 AudioInfo::~AudioInfo()
36 foreach (AudioStreamInfo *info, m_list) {
41 int AudioInfo::size() const
46 AudioStreamInfo const* AudioInfo::info(int pos) const
49 Q_ASSERT(pos <= m_list.size());
51 return m_list.at(pos);
54 void AudioInfo::dumpInfo() const
56 foreach (AudioStreamInfo *info, m_list) {