[FFmpeg-trac] #5775(avdevice:new): Direct show webcam video capture fails in Windows 10 Anniversary edition

FFmpeg trac at avcodec.org
Fri Aug 12 11:39:27 EEST 2016


#5775: Direct show webcam video capture fails in Windows 10 Anniversary edition
-------------------------------------+------------------------------------
             Reporter:  ctdavids     |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:  avdevice
              Version:  git-master   |               Resolution:
             Keywords:  dshow crash  |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+------------------------------------

Comment (by ctdavids):

 Replying to [comment:2 cehoyos]:
 > And just to make sure please recompile with {{{./configure && make
 ffmpeg.exe}}}.

 So I tried to do {{{./configure}}} followed by {{{make ffmpeg.exe}}}, but
 the compilation failed. I can provide the output from the attempt (and the
 later successful one) if desired, but I think maybe it was just an issue
 with not specifying cross-compilation.  Unsure. Certainly not my area of
 expertise.

 I then tried what seemed like a reasonably minimal configure with cross
 compilation

 {{{./configure --enable-gpl --enable-version3 --arch=x86_64 --target-
 os=mingw32 --extra-ldflags=-static --cross-prefix=x86_64-w64-mingw32-}}}

 followed by

 {{{make ffmpeg.exe}}}

 and this produced the following gdb output which looks pretty much the
 same to me

 {{{
 $ gdb ffmpeg_g.exe
 GNU gdb (GDB) (Cygwin 7.10.1-1) 7.10.1
 Copyright (C) 2015 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-pc-cygwin".
 Type "show configuration" for configuration details.
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>.
 Find the GDB manual and other documentation resources online at:
 <http://www.gnu.org/software/gdb/documentation/>.
 For help, type "help".
 Type "apropos word" to search for commands related to "word"...
 Reading symbols from ffmpeg_g.exe...done.
 (gdb) r -f dshow -i video="Logitech HD Webcam C310"
 Starting program: /home/ctdav/Anv/ffmpeg/ffmpeg_g.exe -f dshow -i
 video="Logitech HD Webcam C310"
 [New Thread 37908.0x50cc]
 [New Thread 37908.0x1d9c]
 [New Thread 37908.0x6324]
 [New Thread 37908.0x4578]
 ffmpeg version git-2016-08-12-e8b355a Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 4.9.2 (GCC)
   configuration: --enable-gpl --enable-version3 --arch=x86_64 --target-
 os=mingw32 --extra-ldflags=-static --cross-prefix=x86_64-w64-mingw32-
   libavutil      55. 28.100 / 55. 28.100
   libavcodec     57. 51.100 / 57. 51.100
   libavformat    57. 46.100 / 57. 46.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 51.100 /  6. 51.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
   libpostproc    54.  0.100 / 54.  0.100
 [New Thread 37908.0x7768]
 [New Thread 37908.0x2704]
 [New Thread 37908.0x481c]
 [Thread 37908.0x481c exited with code 0]
 [New Thread 37908.0x568c]
 [Thread 37908.0x568c exited with code 0]
 [New Thread 37908.0x5180]
 [Thread 37908.0x5180 exited with code 0]
 [New Thread 37908.0x87f0]
 [New Thread 37908.0x7b60]
 [New Thread 37908.0x2fcc]
 [New Thread 37908.0x4654]
 [New Thread 37908.0x9ba0]
 warning: HEAP[ffmpeg_g.exe]:
 warning: Invalid address specified to RtlFreeHeap( 00000000007A0000,
 0000000001209360 )

 Program received signal SIGTRAP, Trace/breakpoint trap.
 0x00007ffa8eb7b61f in ntdll!RtlpNtMakeTemporaryKey () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 (gdb) bt
 #0  0x00007ffa8eb7b61f in ntdll!RtlpNtMakeTemporaryKey () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 #1  0x00007ffa8eb47408 in ntdll!memset () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 #2  0x00007ffa8eb12a71 in ntdll!EtwEventProviderEnabled () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 #3  0x00007ffa8eb3cfb3 in ntdll!memset () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 #4  0x00007ffa8eabc214 in ntdll!RtlFreeHeap () from
 /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll
 #5  0x00007ffa7d895f88 in Source!DllUnregisterServer () from
 /cygdrive/c/Windows/System32/mfksproxy.dll
 #6  0x00007ffa7d876b50 in ?? () from
 /cygdrive/c/Windows/System32/mfksproxy.dll
 #7  0x00007ffa69c69464 in QUARTZ!AMGetErrorTextW () from
 /cygdrive/c/Windows/System32/quartz.dll
 #8  0x00007ffa69c7b5f7 in QUARTZ!AMGetErrorTextW () from
 /cygdrive/c/Windows/System32/quartz.dll
 #9  0x00007ffa69c7ab0d in QUARTZ!AMGetErrorTextW () from
 /cygdrive/c/Windows/System32/quartz.dll
 #10 0x00007ffa69c7cc79 in QUARTZ!AMGetErrorTextW () from
 /cygdrive/c/Windows/System32/quartz.dll
 #11 0x00007ffa69c7c6e5 in QUARTZ!AMGetErrorTextW () from
 /cygdrive/c/Windows/System32/quartz.dll
 #12 0x0000000140025e2a in dshow_read_header (avctx=0x704f80) at
 libavdevice/dshow.c:1209
 #13 0x000000014026b557 in avformat_open_input (ps=ps at entry=0x5ff848,
 filename=filename at entry=0x7049cb "video=Logitech HD Webcam C310",
 fmt=fmt at entry=0x140bd7140 <ff_dshow_demuxer>, options=0x704d08) at
 libavformat/utils.c:555
 #14 0x000000014000dbe7 in open_input_file (o=o at entry=0x5ffa40,
 filename=<optimized out>) at ffmpeg_opt.c:982
 #15 0x000000014000f1cf in open_files (inout=0x140c1f4ff
 <global_group+6879> "input", open_file=0x14000c370 <open_input_file>,
 l=<optimized out>, l=<optimized out>) at ffmpeg_opt.c:3069
 #16 ffmpeg_parse_options (argc=argc at entry=5, argv=argv at entry=0x704770) at
 ffmpeg_opt.c:3106
 #17 0x0000000140b587ee in main (argc=5, argv=0x704770) at ffmpeg.c:4325
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x7ffa8eb7b5ff to 0x7ffa8eb7b63f:
    0x00007ffa8eb7b5ff <ntdll!RtlpNtMakeTemporaryKey+17199>:     int3
    0x00007ffa8eb7b600 <ntdll!RtlpNtMakeTemporaryKey+17200>:     int3
    0x00007ffa8eb7b601 <ntdll!RtlpNtMakeTemporaryKey+17201>:     int3
    0x00007ffa8eb7b602 <ntdll!RtlpNtMakeTemporaryKey+17202>:     int3
    0x00007ffa8eb7b603 <ntdll!RtlpNtMakeTemporaryKey+17203>:     int3
    0x00007ffa8eb7b604 <ntdll!RtlpNtMakeTemporaryKey+17204>:     int3
    0x00007ffa8eb7b605 <ntdll!RtlpNtMakeTemporaryKey+17205>:     int3
    0x00007ffa8eb7b606 <ntdll!RtlpNtMakeTemporaryKey+17206>:     int3
    0x00007ffa8eb7b607 <ntdll!RtlpNtMakeTemporaryKey+17207>:     int3
    0x00007ffa8eb7b608 <ntdll!RtlpNtMakeTemporaryKey+17208>:     mov
 %gs:0x60,%rax
    0x00007ffa8eb7b611 <ntdll!RtlpNtMakeTemporaryKey+17217>:     cmpb
 $0x0,0x2(%rax)
    0x00007ffa8eb7b615 <ntdll!RtlpNtMakeTemporaryKey+17221>:     je
 0x7ffa8eb7b626 <ntdll!RtlpNtMakeTemporaryKey+17238>
    0x00007ffa8eb7b617 <ntdll!RtlpNtMakeTemporaryKey+17223>:     movb
 $0x1,0x55033(%rip)        # 0x7ffa8ebd0651
    0x00007ffa8eb7b61e <ntdll!RtlpNtMakeTemporaryKey+17230>:     int3
 => 0x00007ffa8eb7b61f <ntdll!RtlpNtMakeTemporaryKey+17231>:     movb
 $0x0,0x5502b(%rip)        # 0x7ffa8ebd0651
    0x00007ffa8eb7b626 <ntdll!RtlpNtMakeTemporaryKey+17238>:     retq
    0x00007ffa8eb7b627 <ntdll!RtlpNtMakeTemporaryKey+17239>:     int3
    0x00007ffa8eb7b628 <ntdll!RtlpNtMakeTemporaryKey+17240>:     int3
    0x00007ffa8eb7b629 <ntdll!RtlpNtMakeTemporaryKey+17241>:     int3
    0x00007ffa8eb7b62a <ntdll!RtlpNtMakeTemporaryKey+17242>:     int3
    0x00007ffa8eb7b62b <ntdll!RtlpNtMakeTemporaryKey+17243>:     int3
    0x00007ffa8eb7b62c <ntdll!RtlpNtMakeTemporaryKey+17244>:     int3
    0x00007ffa8eb7b62d <ntdll!RtlpNtMakeTemporaryKey+17245>:     int3
    0x00007ffa8eb7b62e <ntdll!RtlpNtMakeTemporaryKey+17246>:     int3
    0x00007ffa8eb7b62f <ntdll!RtlpNtMakeTemporaryKey+17247>:     int3
    0x00007ffa8eb7b630 <ntdll!RtlpNtMakeTemporaryKey+17248>:     mov
 %rbx,0x8(%rsp)
    0x00007ffa8eb7b635 <ntdll!RtlpNtMakeTemporaryKey+17253>:     mov
 %r9,0x20(%rsp)
    0x00007ffa8eb7b63a <ntdll!RtlpNtMakeTemporaryKey+17258>:     mov
 %r8b,0x18(%rsp)
 End of assembler dump.
 (gdb) info all-registers
 rax            0x229000 2265088
 rbx            0x1209350        18912080
 rcx            0xfeef753b3aa40000       -76713771394662400
 rdx            0x39007b005c007d 16044601959514237
 rsi            0x7ffa8eb8ea38   140714113034808
 rdi            0x7a0000 7995392
 rbp            0x0      0x0
 rsp            0x5fe048 0x5fe048
 r8             0x30002d00610065 13510992161996901
 r9             0x63003000610030 27866228859142192
 r10            0x33003200320039 14355438563885113
 r11            0x7d003600390031 35184604020801585
 r12            0x70c828 7391272
 r13            0x0      0
 r14            0x0      0
 r15            0x1209360        18912096
 rip            0x7ffa8eb7b61f   0x7ffa8eb7b61f
 <ntdll!RtlpNtMakeTemporaryKey+17231>
 eflags         0x202    [ IF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x2b     43
 es             0x2b     43
 fs             0x53     83
 gs             0x2b     43
 st0            <invalid float value>    (raw 0x708b0000007d00300030)
 st1            0        (raw 0x00000000000475e13088)
 st2            <invalid float value>    (raw 0x000500000000007af010)
 st3            <invalid float value>    (raw 0x5a4500000000005fdb40)
 st4            0        (raw 0x000000007ffa75e13088)
 st5            <invalid float value>    (raw 0x00630000b95077933b1b)
 st6            <invalid float value>    (raw 0x401b0000000000709ee0)
 st7            <invalid float value>    (raw 0xed880000000000000000)
 fctrl          0x37f    895
 fstat          0x0      0
 ftag           0x640000 6553600
 fiseg          0x32     50
 fioff          0x2d0036 2949174
 foseg          0x30     48
 fooff          0x620064 6422628
 fop            0x0      0
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x50, 0xfe, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x65, 0x43,
 0x8c, 0xfa, 0x7f, 0x0, 0x0}, v8_int16 = {0xfe50, 0x80, 0x0, 0x0, 0x6560,
 0x8c43, 0x7ffa, 0x0}, v4_int32 = {0x80fe50, 0x0, 0x8c436560,
     0x7ffa}, v2_int64 = {0x80fe50, 0x7ffa8c436560}, uint128 =
 0x00007ffa8c436560000000000080fe50}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x50, 0xfe, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x54, 0x2a,
 0x8c, 0xfa, 0x7f, 0x0, 0x0}, v8_int16 = {0xfe50, 0x80, 0x0, 0x0, 0x5402,
 0x8c2a, 0x7ffa, 0x0}, v4_int32 = {0x80fe50, 0x0, 0x8c2a5402,
     0x7ffa}, v2_int64 = {0x80fe50, 0x7ffa8c2a5402}, uint128 =
 0x00007ffa8c2a5402000000000080fe50}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x41, 0x2a,
 0x8c, 0xfa, 0x7f, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x4186,
 0x8c2a, 0x7ffa, 0x0}, v4_int32 = {0x0, 0x0, 0x8c2a4186, 0x7ffa},
   v2_int64 = {0x0, 0x7ffa8c2a4186}, uint128 =
 0x00007ffa8c2a41860000000000000000}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x50, 0x93, 0x20, 0x1, 0x0, 0x0, 0x0, 0x0, 0x65, 0xaa, 0xab,
 0x8e, 0xfa, 0x7f, 0x0, 0x0}, v8_int16 = {0x9350, 0x120, 0x0, 0x0, 0xaa65,
 0x8eab, 0x7ffa, 0x0}, v4_int32 = {0x1209350, 0x0,
     0x8eabaa65, 0x7ffa}, v2_int64 = {0x1209350, 0x7ffa8eabaa65}, uint128 =
 0x00007ffa8eabaa650000000001209350}
 xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, 0xed, 0x5f, 0x0,
 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0xed88, 0x5f, 0x0,
 0x0}, v4_int32 = {0x0, 0x0, 0x5fed88, 0x0}, v2_int64 = {
     0x0, 0x5fed88}, uint128 = 0x00000000005fed880000000000000000}
 xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14, 0xc2, 0xab,
 0x8e, 0xfa, 0x7f, 0x0, 0x0}, v8_int16 = {0x0, 0x70, 0x0, 0x0, 0xc214,
 0x8eab, 0x7ffa, 0x0}, v4_int32 = {0x700000, 0x0, 0x8eabc214,
     0x7ffa}, v2_int64 = {0x700000, 0x7ffa8eabc214}, uint128 =
 0x00007ffa8eabc2140000000000700000}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
 uint128 = 0x00000000000000000000000000000000}
 mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]
 (gdb)
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5775#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list