1545
|
1 #ifndef DS_OUTPUTPIN_H
|
|
2 #define DS_OUTPUTPIN_H
|
168
|
3
|
1545
|
4 /* "output pin" - the one that connects to output of filter. */
|
|
5
|
168
|
6 #include "interfaces.h"
|
|
7 #include "guids.h"
|
713
|
8 #include "allocator.h"
|
1545
|
9
|
|
10 struct COutputPin;
|
|
11
|
|
12 struct COutputMemPin : public IMemInputPin
|
168
|
13 {
|
|
14 char** frame_pointer;
|
|
15 long* frame_size_pointer;
|
713
|
16 MemAllocator* pAllocator;
|
1545
|
17 COutputPin* parent;
|
|
18 };
|
|
19
|
|
20 struct COutputPin : public IPin
|
|
21 {
|
|
22 COutputMemPin* mempin;
|
|
23 int refcount;
|
|
24 AM_MEDIA_TYPE type;
|
|
25 IPin* remote;
|
168
|
26 COutputPin(const AM_MEDIA_TYPE& vhdr);
|
713
|
27 ~COutputPin();
|
1545
|
28 void SetFramePointer(char** z) { mempin->frame_pointer = z; }
|
|
29 void SetPointer2(char* p) {
|
|
30 if (mempin->pAllocator)
|
|
31 mempin->pAllocator->SetPointer(p);
|
|
32 }
|
|
33 void SetFrameSizePointer(long* z) { mempin->frame_size_pointer = z; }
|
|
34 void SetNewFormat(const AM_MEDIA_TYPE& a) { type = a; }
|
|
35 };
|
168
|
36
|
1545
|
37 #endif /* DS_OUTPUTPIN_H */
|