xref: /haiku/src/apps/mediaplayer/supplier/MediaTrackAudioSupplier.h (revision 5fa5e5fea7e2752ce0f9eb514b82f7c34ea308e6)
1*5fa5e5feSStephan Aßmus /*
2*5fa5e5feSStephan Aßmus  * Copyright 2007, Haiku. All rights reserved.
3*5fa5e5feSStephan Aßmus  * Distributed under the terms of the MIT License.
4*5fa5e5feSStephan Aßmus  *
5*5fa5e5feSStephan Aßmus  * Authors:
6*5fa5e5feSStephan Aßmus  *		Stephan Aßmus <superstippi@gmx.de>
7*5fa5e5feSStephan Aßmus  */
8*5fa5e5feSStephan Aßmus #ifndef MEDIA_TRACK_AUDIO_SUPPLIER_H
9*5fa5e5feSStephan Aßmus #define MEDIA_TRACK_AUDIO_SUPPLIER_H
10*5fa5e5feSStephan Aßmus 
11*5fa5e5feSStephan Aßmus #include "AudioSupplier.h"
12*5fa5e5feSStephan Aßmus 
13*5fa5e5feSStephan Aßmus class BMediaTrack;
14*5fa5e5feSStephan Aßmus 
15*5fa5e5feSStephan Aßmus class MediaTrackAudioSupplier : public AudioSupplier {
16*5fa5e5feSStephan Aßmus  public:
17*5fa5e5feSStephan Aßmus 								MediaTrackAudioSupplier(BMediaTrack* track);
18*5fa5e5feSStephan Aßmus 	virtual						~MediaTrackAudioSupplier();
19*5fa5e5feSStephan Aßmus 
20*5fa5e5feSStephan Aßmus 	virtual	media_format		Format() const;
21*5fa5e5feSStephan Aßmus 	virtual	status_t			ReadFrames(void* buffer, int64* framesRead,
22*5fa5e5feSStephan Aßmus 									bigtime_t* performanceTime);
23*5fa5e5feSStephan Aßmus 	virtual	status_t			SeekToTime(bigtime_t* performanceTime);
24*5fa5e5feSStephan Aßmus 
25*5fa5e5feSStephan Aßmus 	virtual	bigtime_t			Position() const
26*5fa5e5feSStephan Aßmus 									{ return fPerformanceTime; }
27*5fa5e5feSStephan Aßmus 	virtual	bigtime_t			Duration() const
28*5fa5e5feSStephan Aßmus 									{ return fDuration; }
29*5fa5e5feSStephan Aßmus  private:
30*5fa5e5feSStephan Aßmus 			BMediaTrack*		fMediaTrack;
31*5fa5e5feSStephan Aßmus 
32*5fa5e5feSStephan Aßmus 			media_format		fFormat;
33*5fa5e5feSStephan Aßmus 
34*5fa5e5feSStephan Aßmus 			bigtime_t			fPerformanceTime;
35*5fa5e5feSStephan Aßmus 			bigtime_t			fDuration;
36*5fa5e5feSStephan Aßmus };
37*5fa5e5feSStephan Aßmus 
38*5fa5e5feSStephan Aßmus #endif // MEDIA_TRACK_AUDIO_SUPPLIER_H
39