xref: /haiku/headers/private/media/experimental/MediaIO.h (revision 4bd0c1066b227cec4b79883bdef697c7a27f2e90)
1 /*
2  * Copyright 2016 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _MEDIA_IO_H
6 #define _MEDIA_IO_H
7 
8 
9 #include <DataIO.h>
10 #include <SupportDefs.h>
11 
12 
13 enum media_io_flags {
14 	B_MEDIA_STREAMING = 0x00000001,
15 
16 	B_MEDIA_MUTABLE_SIZE = 0x00000002,
17 
18 	B_MEDIA_SEEK_FORWARD = 0x00000004,
19 	B_MEDIA_SEEK_BACKWARD = 0x00000008,
20 	B_MEDIA_SEEKABLE = B_MEDIA_SEEK_BACKWARD | B_MEDIA_SEEK_FORWARD
21 };
22 
23 
24 class BMediaIO : public BPositionIO {
25 public:
26 								BMediaIO();
27 	virtual						~BMediaIO();
28 
29 	virtual void				GetFlags(int32* flags) const = 0;
30 
31 private:
32 								BMediaIO(const BMediaIO&);
33 			BMediaIO&			operator=(const BMediaIO&);
34 
35 	virtual	void				_ReservedMediaIO1();
36 	virtual void				_ReservedMediaIO2();
37 	virtual void				_ReservedMediaIO3();
38 	virtual void				_ReservedMediaIO4();
39 	virtual void				_ReservedMediaIO5();
40 
41 			uint32				_reserved[5];
42 };
43 
44 #endif	// _MEDIA_IO_H
45