[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