|
|
|
@ -66,4 +66,56 @@ const char *avdevice_license(void); |
|
|
|
|
*/ |
|
|
|
|
void avdevice_register_all(void); |
|
|
|
|
|
|
|
|
|
typedef struct AVDeviceRect { |
|
|
|
|
int x; /**< x coordinate of top left corner */ |
|
|
|
|
int y; /**< y coordinate of top left corner */ |
|
|
|
|
int width; /**< width */ |
|
|
|
|
int height; /**< height */ |
|
|
|
|
} AVDeviceRect; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Message types used by avdevice_app_to_dev_control_message(). |
|
|
|
|
*/ |
|
|
|
|
enum AVAppToDevMessageType { |
|
|
|
|
/**
|
|
|
|
|
* Dummy message. |
|
|
|
|
*/ |
|
|
|
|
AV_APP_TO_DEV_NONE = MKBETAG('N','O','N','E'), |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Window size change message. |
|
|
|
|
* |
|
|
|
|
* Message is sent to the device every time the application changes the size |
|
|
|
|
* of the window device renders to. |
|
|
|
|
* Message should also be sent right after window is created. |
|
|
|
|
* |
|
|
|
|
* data: AVDeviceRect: new window size. |
|
|
|
|
*/ |
|
|
|
|
AV_APP_TO_DEV_WINDOW_SIZE = MKBETAG('G','E','O','M'), |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Repaint request message. |
|
|
|
|
* |
|
|
|
|
* Message is sent to the device when window have to be rapainted. |
|
|
|
|
* |
|
|
|
|
* data: AVDeviceRect: area required to be repainted. |
|
|
|
|
* NULL: whole area is required to be repainted. |
|
|
|
|
*/ |
|
|
|
|
AV_APP_TO_DEV_WINDOW_REPAINT = MKBETAG('R','E','P','A') |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Send control message from application to device. |
|
|
|
|
* |
|
|
|
|
* @param s device context. |
|
|
|
|
* @param type message type. |
|
|
|
|
* @param data message data. Exact type depends on message type. |
|
|
|
|
* @param data_size size of message data. |
|
|
|
|
* @return >= 0 on success, negative on error. |
|
|
|
|
* AVERROR(ENOSYS) when device doesn't implement handler of the message. |
|
|
|
|
*/ |
|
|
|
|
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, |
|
|
|
|
enum AVAppToDevMessageType type, |
|
|
|
|
void *data, size_t data_size); |
|
|
|
|
|
|
|
|
|
#endif /* AVDEVICE_AVDEVICE_H */ |
|
|
|
|