| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 1 | #ifndef ANDROID_DVR_INTERNAL_H_ | 
|  | 2 | #define ANDROID_DVR_INTERNAL_H_ | 
|  | 3 |  | 
|  | 4 | #include <sys/cdefs.h> | 
|  | 5 |  | 
|  | 6 | #include <memory> | 
|  | 7 |  | 
|  | 8 | extern "C" { | 
|  | 9 |  | 
|  | 10 | typedef struct DvrBuffer DvrBuffer; | 
|  | 11 | typedef struct DvrReadBuffer DvrReadBuffer; | 
|  | 12 | typedef struct DvrWriteBuffer DvrWriteBuffer; | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 13 |  | 
|  | 14 | }  // extern "C" | 
|  | 15 |  | 
|  | 16 | namespace android { | 
|  | 17 | namespace dvr { | 
|  | 18 |  | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 19 | class IonBuffer; | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 20 |  | 
|  | 21 | DvrBuffer* CreateDvrBufferFromIonBuffer( | 
|  | 22 | const std::shared_ptr<IonBuffer>& ion_buffer); | 
|  | 23 |  | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 24 | }  // namespace dvr | 
|  | 25 | }  // namespace android | 
|  | 26 |  | 
|  | 27 | extern "C" { | 
|  | 28 |  | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 29 | struct DvrWriteBuffer { | 
| Jiwen 'Steve' Cai | 638b7f7 | 2017-09-08 11:10:29 -0700 | [diff] [blame] | 30 | // The slot nubmer of the buffer, a valid slot number must be in the range of | 
|  | 31 | // [0, android::BufferQueueDefs::NUM_BUFFER_SLOTS). This is only valid for | 
|  | 32 | // DvrWriteBuffer acquired from a DvrWriteBufferQueue. | 
|  | 33 | int32_t slot = -1; | 
|  | 34 |  | 
| Jiwen 'Steve' Cai | 1c73024 | 2018-12-31 18:40:02 -0800 | [diff] [blame] | 35 | std::shared_ptr<android::dvr::ProducerBuffer> write_buffer; | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 36 | }; | 
|  | 37 |  | 
|  | 38 | struct DvrReadBuffer { | 
| Jiwen 'Steve' Cai | 638b7f7 | 2017-09-08 11:10:29 -0700 | [diff] [blame] | 39 | // The slot nubmer of the buffer, a valid slot number must be in the range of | 
|  | 40 | // [0, android::BufferQueueDefs::NUM_BUFFER_SLOTS). This is only valid for | 
|  | 41 | // DvrReadBuffer acquired from a DvrReadBufferQueue. | 
|  | 42 | int32_t slot = -1; | 
|  | 43 |  | 
| Jiwen 'Steve' Cai | 1c73024 | 2018-12-31 18:40:02 -0800 | [diff] [blame] | 44 | std::shared_ptr<android::dvr::ConsumerBuffer> read_buffer; | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 45 | }; | 
|  | 46 |  | 
|  | 47 | struct DvrBuffer { | 
|  | 48 | std::shared_ptr<android::dvr::IonBuffer> buffer; | 
|  | 49 | }; | 
|  | 50 |  | 
| Corey Tabaka | 2251d82 | 2017-04-20 16:04:07 -0700 | [diff] [blame] | 51 | }  // extern "C" | 
|  | 52 |  | 
|  | 53 | #endif  // ANDROID_DVR_INTERNAL_H_ |