1/*
2 * Copyright 2008 Stephan Aßmus, <superstippi@gmx.de>
3 * All rights reserved. Distributed under the terms of the MIT license.
4 */
5#ifndef SUPPORT_FUNCTIONS_H
6#define SUPPORT_FUNCTIONS_H
7
8#include <MediaDefs.h>
9
10static inline int32
11bytes_per_frame(const media_format& format)
12{
13	int32 channelCount = format.u.raw_audio.channel_count;
14	size_t sampleSize = format.u.raw_audio.format
15			& media_raw_audio_format::B_AUDIO_SIZE_MASK;
16	return sampleSize * channelCount;
17}
18
19
20static inline bigtime_t
21time_for_buffer(size_t size, const media_format& format)
22{
23	int32 frameSize = bytes_per_frame(format);
24	float frameRate = format.u.raw_audio.frame_rate;
25
26	return (bigtime_t)((double)size * 1000000 / frameSize / frameRate);
27}
28
29
30#endif // SUPPORT_FUNCTIONS_H
31