aboutsummaryrefslogtreecommitdiffstats
path: root/taglib/riff/aiff/aiffproperties.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'taglib/riff/aiff/aiffproperties.cpp')
-rw-r--r--taglib/riff/aiff/aiffproperties.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/taglib/riff/aiff/aiffproperties.cpp b/taglib/riff/aiff/aiffproperties.cpp
index 77c3d277..647696fd 100644
--- a/taglib/riff/aiff/aiffproperties.cpp
+++ b/taglib/riff/aiff/aiffproperties.cpp
@@ -85,7 +85,8 @@ public:
bitrate(0),
sampleRate(0),
channels(0),
- sampleWidth(0)
+ sampleWidth(0),
+ sampleFrames(0)
{
}
@@ -95,6 +96,7 @@ public:
int sampleRate;
int channels;
int sampleWidth;
+ uint sampleFrames;
};
////////////////////////////////////////////////////////////////////////////////
@@ -137,6 +139,11 @@ int RIFF::AIFF::Properties::sampleWidth() const
return d->sampleWidth;
}
+uint RIFF::AIFF::Properties::sampleFrames() const
+{
+ return d->sampleFrames;
+}
+
////////////////////////////////////////////////////////////////////////////////
// private members
////////////////////////////////////////////////////////////////////////////////
@@ -144,10 +151,10 @@ int RIFF::AIFF::Properties::sampleWidth() const
void RIFF::AIFF::Properties::read(const ByteVector &data)
{
d->channels = data.mid(0, 2).toShort();
- uint sampleFrames = data.mid(2, 4).toUInt();
+ d->sampleFrames = data.mid(2, 4).toUInt();
d->sampleWidth = data.mid(6, 2).toShort();
double sampleRate = ConvertFromIeeeExtended(reinterpret_cast<unsigned char *>(data.mid(8, 10).data()));
d->sampleRate = sampleRate;
d->bitrate = (sampleRate * d->sampleWidth * d->channels) / 1000.0;
- d->length = sampleFrames / d->sampleRate;
+ d->length = d->sampleFrames / d->sampleRate;
}