xref: /haiku/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCDeframer.h (revision 19ae20e67e91fc09cc9fc5c0e60e21e24e7a53eb)
1*51a01ea0SJérôme Duval /*
2*51a01ea0SJérôme Duval  * Copyright 2011, Gabriel Hartmann, gabriel.hartmann@gmail.com.
3*51a01ea0SJérôme Duval  * Distributed under the terms of the MIT License.
4*51a01ea0SJérôme Duval  */
5*51a01ea0SJérôme Duval #ifndef _UVC_DEFRAMER_H
6*51a01ea0SJérôme Duval #define _UVC_DEFRAMER_H
7*51a01ea0SJérôme Duval 
8*51a01ea0SJérôme Duval 
9*51a01ea0SJérôme Duval #include "CamDeframer.h"
10*51a01ea0SJérôme Duval 
11*51a01ea0SJérôme Duval #include <USB3.h>
12*51a01ea0SJérôme Duval 
13*51a01ea0SJérôme Duval 
14*51a01ea0SJérôme Duval class UVCDeframer : public CamDeframer {
15*51a01ea0SJérôme Duval public:
16*51a01ea0SJérôme Duval 								UVCDeframer(CamDevice *device);
17*51a01ea0SJérôme Duval 	virtual 					~UVCDeframer();
18*51a01ea0SJérôme Duval 					// BPositionIO interface
19*51a01ea0SJérôme Duval 					// write from usb transfers
20*51a01ea0SJérôme Duval 	virtual ssize_t				Write(const void *buffer, size_t size);
21*51a01ea0SJérôme Duval 
22*51a01ea0SJérôme Duval private:
23*51a01ea0SJérôme Duval 	void						_PrintBuffer(const void* buffer, size_t size);
24*51a01ea0SJérôme Duval 
25*51a01ea0SJérôme Duval 	int32						fFrameCount;
26*51a01ea0SJérôme Duval 	int32						fID;
27*51a01ea0SJérôme Duval 	BMallocIO					fInputBuffer;
28*51a01ea0SJérôme Duval };
29*51a01ea0SJérôme Duval 
30*51a01ea0SJérôme Duval #endif /* _UVC_DEFRAMER_H */
31*51a01ea0SJérôme Duval 
32