[FFmpeg-devel] [PATCH v2 10/33] fftools: provide media type info for devices
Diederick C. Niehorster
dcnieho at gmail.com
Sat Jun 19 00:26:22 EEST 2021
On Thu, Jun 17, 2021 at 3:41 AM Andreas Rheinhardt
<andreas.rheinhardt at outlook.com> wrote:
>
> Diederick Niehorster:
> > fftools now print info about what media type(s), if any, are provided by
> > sink and source avdevices.
> >
> > Signed-off-by: Diederick Niehorster <dcnieho at gmail.com>
> > ---
> > fftools/cmdutils.c | 34 ++++++++++++++++++++++++----------
> > 1 file changed, 24 insertions(+), 10 deletions(-)
> >
> > diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
> > index 4148285971..e7bd9f2644 100644
> > --- a/fftools/cmdutils.c
> > +++ b/fftools/cmdutils.c
> > @@ -2205,9 +2205,29 @@ double get_rotation(AVStream *st)
> > }
> >
> > #if CONFIG_AVDEVICE
> > +static void print_device_list(AVDeviceInfoList *device_list)
> > +{
> > + // print devices
> > + for (int i = 0; i < device_list->nb_devices; i++) {
> > + printf("%s %s [%s]", device_list->default_device == i ? "*" : " ",
> > + device_list->devices[i]->device_name, device_list->devices[i]->device_description);
> > + if (device_list->devices[i]->nb_media_types > 0 && device_list->devices[i]->media_types) {
> > + const char* media_type = av_get_media_type_string(device_list->devices[i]->media_types[0]);
> > + printf(" (%s", media_type ? media_type : "unknown");
> > + for (int i = 1; i < device_list->devices[i]->nb_media_types; ++i) {
>
> You are shadowing the external counter variable here and are using a
> different device for every iteration. Has this code actually been tested?
Fixed both from your first mail. Yes, i have tested this, but only
with zero or one media type per device since thats all i had. I could
of course jury-rig the code to output that a device has two media
types and then this didn't work (and it brought to the surface a bug
in an earlier commit too). Thanks!
Cheers,
Dee
More information about the ffmpeg-devel
mailing list