summaryrefslogtreecommitdiffstats
path: root/src/metadata/m4a/mp4propsproxy.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:09:31 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:09:31 +0000
commitf2cfda2a54780868dfe0af7bd652fcd4906547da (patch)
treec6ac23545528f5701818424f2af5f79ce3665e6c /src/metadata/m4a/mp4propsproxy.cpp
downloadsoundkonverter-f2cfda2a54780868dfe0af7bd652fcd4906547da.tar.gz
soundkonverter-f2cfda2a54780868dfe0af7bd652fcd4906547da.zip
Added KDE3 version of SoundKonverter
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/soundkonverter@1097614 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/metadata/m4a/mp4propsproxy.cpp')
-rw-r--r--src/metadata/m4a/mp4propsproxy.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/metadata/m4a/mp4propsproxy.cpp b/src/metadata/m4a/mp4propsproxy.cpp
new file mode 100644
index 0000000..ebee9c2
--- /dev/null
+++ b/src/metadata/m4a/mp4propsproxy.cpp
@@ -0,0 +1,89 @@
+/***************************************************************************
+ copyright : (C) 2002, 2003, 2006 by Jochen Issing
+ ***************************************************************************/
+
+/***************************************************************************
+ * This library is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU Lesser General Public License version *
+ * 2.1 as published by the Free Software Foundation. *
+ * *
+ * This library is distributed in the hope that it will be useful, but *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this library; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ***************************************************************************/
+
+#include "mp4propsproxy.h"
+
+using namespace TagLib;
+
+class MP4::Mp4PropsProxy::Mp4PropsProxyPrivate
+{
+public:
+ //! the movie header box
+ MP4::Mp4MvhdBox* mvhdbox;
+ //! the sample table box
+ MP4::Mp4AudioSampleEntry* audiosampleentry;
+};
+
+
+MP4::Mp4PropsProxy::Mp4PropsProxy()
+{
+ d = new MP4::Mp4PropsProxy::Mp4PropsProxyPrivate();
+ d->mvhdbox = 0;
+ d->audiosampleentry = 0;
+}
+
+MP4::Mp4PropsProxy::~Mp4PropsProxy()
+{
+ delete d;
+}
+
+TagLib::uint MP4::Mp4PropsProxy::seconds() const
+{
+ if( d->mvhdbox )
+ return static_cast<TagLib::uint>( d->mvhdbox->duration() / d->mvhdbox->timescale() );
+ else
+ return 0;
+}
+
+TagLib::uint MP4::Mp4PropsProxy::channels() const
+{
+ if( d->audiosampleentry )
+ return d->audiosampleentry->channels();
+ else
+ return 0;
+}
+
+TagLib::uint MP4::Mp4PropsProxy::sampleRate() const
+{
+ if( d->audiosampleentry )
+ return (d->audiosampleentry->samplerate()>>16);
+ else
+ return 0;
+}
+
+TagLib::uint MP4::Mp4PropsProxy::bitRate() const
+{
+ if( d->audiosampleentry )
+ return (d->audiosampleentry->bitrate());
+ else
+ return 0;
+}
+
+void MP4::Mp4PropsProxy::registerMvhd( MP4::Mp4MvhdBox* mvhdbox )
+{
+ d->mvhdbox = mvhdbox;
+}
+
+void MP4::Mp4PropsProxy::registerAudioSampleEntry( MP4::Mp4AudioSampleEntry* audioSampleEntry )
+{
+ d->audiosampleentry = audioSampleEntry;
+}
+