[FFmpeg-devel] [PATCH 2/4] lavd: add device capabilities API
Lukasz Marek
lukasz.m.luki at gmail.com
Thu Feb 6 17:40:52 CET 2014
>> Solution you suggest is the same I proposed before and was rejected.
>> So I give up any further work on it until you figure out what should
>> it look like.
>
> Maybe a solution is to do both ?
> have a very simple flat structure that lists limitations but
> would not be able to repesent complex real hw so for example
> like these: http://gopro.com/product-comparison-hero3-cameras
>
> so it would then possibly list 30fps and 1080p as maximum
> while the AVOption interface would list that it also can do
> 4K at 15fps and 960p at 100fps ans wvga at 240fps
maybe somehting like that:
struct FlatConfigutation
{
....
//will return lists of parameter ranges that are always valid.
}
typedef struct AVDeviceInfo {
char *device_name;
char *device_description;
struct *FlastConfiguration;
} AVDeviceInfo;
typedef struct AVDeviceInfoList {
AVDeviceInfo *devices;
int nb_devices;
int default_device;
} AVDeviceInfoList;
int avdevice_list_devices(
AVFormatContext *s,
AVDeviceInfoList **device_list
int *have_complex_configuration)
have_complex_configuration would inform user that returned flat
configuration doesnt cover all posibilities.
In cases where have_complex_configuration is not set, AVOption API could
be not implemented.
I just wonder if it is worth the effort. Making few calls with AVOption
API is not really complex. Solid app should always consider the case
when have_complex_configuration is set and the AVOption code should be
added anyway.
--
Best Regards,
Lukasz Marek
If you can't explain it simply, you don't understand it well enough. -
Albert Einstein
More information about the ffmpeg-devel
mailing list