[FFmpeg-user] The device does not support the streaming I/O method.

Thomas Seilund tps at netmaster.dk
Mon Jan 26 16:54:14 CET 2015


Carl Eugen Hoyos writes:

> Carl Eugen Hoyos <cehoyos <at> ag.or.at> writes:
>
>> -        return AVPROBE_SCORE_MAX - 1;
>> +        return AVPROBE_SCORE_EXTENSION + 1;
>
> Sorry, I wanted you to test EXTENSION / 2 +1:
>
> diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
> index 8337cf5..3676f63 100644
> --- a/libavdevice/v4l2.c
> +++ b/libavdevice/v4l2.c
> @@ -815,7 +815,7 @@ static int device_try_init(AVFormatContext *ctx,
>  static int v4l2_read_probe(AVProbeData *p)
>  {
>      if (av_strstart(p->filename, "/dev/video", NULL))
> -        return AVPROBE_SCORE_MAX - 1;
> +        return AVPROBE_SCORE_EXTENSION / 2 + 1;
>      return 0;
>  }
> 
>
>
> Sorry, Carl Eugen
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Hi


Before the patch

tps at t420:~/AMC/test/temp$ ffmpeg -y -i /dev/video1 -c copy -f mpegts  
ffmpeg.ts
ffmpeg version N-69238-g2699a37 Copyright (c) 2000-2015 the FFmpeg  
developers
   built on Jan 24 2015 11:51:09 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --enable-gpl --enable-libmp3lame --enable-libvpx --enable- 
libx264 --enable-version3 --enable-libvorbis --enable-x11grab --enable- 
libfreetype --enable-libv4l2 --enable-libfdk-aac --enable-nonfree
   libavutil      54. 17.100 / 54. 17.100
   libavcodec     56. 20.100 / 56. 20.100
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  8.101 /  5.  8.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
[video4linux2,v4l2 @ 0x38d80e0] The device does not support the streaming  
I/O method.
/dev/video1: Function not implemented
tps at t420:~/AMC/test/temp$


After patch

tps at t420:~/AMC/test$ ffmpeg -y -i /dev/video1 -c copy -f mpegts ffmpeg.ts
ffmpeg version N-69238-g2699a37 Copyright (c) 2000-2015 the FFmpeg  
developers
   built on Jan 24 2015 11:51:09 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --enable-gpl --enable-libmp3lame --enable-libvpx --enable- 
libx264 --enable-version3 --enable-libvorbis --enable-x11grab --enable- 
libfreetype --enable-libv4l2 --enable-libfdk-aac --enable-nonfree
   libavutil      54. 17.100 / 54. 17.100
   libavcodec     56. 20.100 / 56. 20.100
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  8.101 /  5.  8.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
[video4linux2,v4l2 @ 0x266c0e0] The device does not support the streaming  
I/O method.
/dev/video1: Function not implemented
tps at t420:~/AMC/test$



I don't know how to apply the patch so I patched by hand. Here is how the  
function looks now.

static int v4l2_read_probe(AVProbeData *p)
{
     if (av_strstart(p->filename, "/dev/video", NULL))
// tps patch from carl e        return AVPROBE_SCORE_MAX - 1;
         return AVPROBE_SCORE_EXTENSION / 2 + 1;
     return 0;
}


I did do make and make install and I don't understand why the new build  
time is not reflected in the output after the patch!!


Thanks

Thomas S


More information about the ffmpeg-user mailing list