Opened 7 years ago

Closed 7 years ago

#5861 closed defect (invalid)

ffplay receives fullscreen event twice with 'f' since SDL2 (regression)

Reported by: Clément Bœsch Owned by:
Priority: important Component: ffplay
Version: git-master Keywords: sdl2 fullscreen
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

% ./ffplay -f lavfi testsrc2
make: 'ffplay' is up to date.
ffplay version N-81750-g1d92256 Copyright (c) 2003-2016 the FFmpeg developers
  built with gcc 6.2.1 (GCC) 20160830
  configuration: --enable-gpl --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libvpx --enable-x11grab --samples=/home/ux/fate-samples --assert-level=2 --enable-libass --enable-libpulse --enable-libxvid --enable-libzvbi --enable-frei0r --prefix=/tmp/ff
  libavutil      55. 30.100 / 55. 30.100
  libavcodec     57. 58.100 / 57. 58.100
  libavformat    57. 50.100 / 57. 50.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 63.100 /  6. 63.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, lavfi, from 'testsrc2':  0KB vq=    0KB sq=    0B f=0/0   
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
   2.33 M-V:  0.000 fd=   0 aq=    0KB vq= 2927KB sq=    0B f=0/0   

Pressing once 'f' triggers fullscreen event twice, causing a fullscreen blink and back to normal.

For some reason, pause through space, or even fullscreen through double click doesn't trigger this race.

Change History (10)

comment:1 by Carl Eugen Hoyos, 7 years ago

Works fine here, "f" for fullscreen and back works as expected:

$ ffplay -f lavfi -i testsrc
ffplay version N-81751-g159aa12 Copyright (c) 2003-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 30.100 / 55. 30.100
  libavcodec     57. 58.100 / 57. 58.100
  libavformat    57. 50.100 / 57. 50.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 63.100 /  6. 63.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, lavfi, from 'testsrc':   0KB vq=    0KB sq=    0B f=0/0
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
   6.93 M-V:  0.000 fd=   0 aq=    0KB vq= 5852KB sq=    0B f=0/0

comment:2 by Illya, 7 years ago

This is not reproducible on macOS either.

$ ./ffplay -f lavfi -i testsrc                                                                                                          ±[A1+][master]
ffplay version N-81752-g5ef1959 Copyright (c) 2003-2016 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.38)
  configuration:
  libavutil      55. 30.100 / 55. 30.100
  libavcodec     57. 58.100 / 57. 58.100
  libavformat    57. 50.100 / 57. 50.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 63.100 /  6. 63.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
  16.52 M-V: -0.022 fd=  25 aq=    0KB vq= 5852KB sq=    0B f=0/0

comment:3 by llogan, 7 years ago

Reproduced by developer: set
Status: newopen

I can duplicate this issue but it takes several tries of using the f key before the issue manifests. Arch Linux, SDL2 2.0.4.

./ffplay -f lavfi testsrc2
ffplay version N-81780-g4a05d2e Copyright (c) 2003-2016 the FFmpeg developers
  built with gcc 6.2.1 (GCC) 20160830
  configuration: 
  libavutil      55. 30.100 / 55. 30.100
  libavcodec     57. 58.100 / 57. 58.100
  libavformat    57. 51.100 / 57. 51.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 63.100 /  6. 63.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  2.100 /  2.  2.100
Input #0, lavfi, from 'testsrc2':  0KB vq=    0KB sq=    0B f=0/0   
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
  25.45 M-V: -0.040 fd=   6 aq=    0KB vq= 2927KB sq=    0B f=0/0

comment:4 by Clément Bœsch, 7 years ago

It's very likely a race, so not surprising. I can reproduce everytime (also Archlinux here), on a somehow fast computer (i7-4770R / Iris Pro 5200).

comment:5 by Marton Balint, 7 years ago

I doubt the race is in ffplay. I'd check with another window manager and/or SDL version, to see if it makes any difference.

in reply to:  5 comment:6 by Clément Bœsch, 7 years ago

Replying to cus:

I doubt the race is in ffplay. I'd check with another window manager and/or SDL version, to see if it makes any difference.

Reproducible with both i3 and fluxbox wm.

What other SDL version? It works fine with ffplay pre-SDL2.

comment:7 by Marton Balint, 7 years ago

I meant SDL 2.0.3.

in reply to:  7 comment:8 by Clément Bœsch, 7 years ago

Replying to cus:

I meant SDL 2.0.3.

Mmh. I can't reproduce with SDL 2.0.3.

comment:9 by Tiago O., 7 years ago

in reply to:  9 comment:10 by Clément Bœsch, 7 years ago

Resolution: invalid
Status: openclosed

Replying to toazz:

Could this be the cause?

https://bugzilla.libsdl.org/show_bug.cgi?id=3287

Yes, that's probably this. Thanks.

Note: See TracTickets for help on using tickets.