[FFmpeg-devel] [FFmpeg-user] ffplay.exe leaves fullscreen mode and iconifies when losing focus

Norbert Marouschek norbert.marouschek at web.de
Sat Sep 5 11:32:26 EEST 2020


Dear all,

I could identify the reason for the behaviour. In
FFmpeg-master\libavdevice\gdigrab.c, gdigrab_region_wnd_init() *WS_POPUP
*is used for CreateWindowEx(),

Why? WS_POPUP is not expected for main windows. Is it possible to fix this?

Best regards,
     Norbert


/**
  * Initialize the region outline window.
  *
  * @param s1 The format context.
  * @param gdigrab gdigrab context.
  * @return 0 success, !0 failure
  */
static int
gdigrab_region_wnd_init(AVFormatContext *s1, struct gdigrab *gdigrab)
{
     HWND hwnd;
     RECT rect = gdigrab->clip_rect;
     HRGN region = NULL;
     HRGN region_interior = NULL;

     DWORD style = *WS_POPUP *| WS_VISIBLE;
     DWORD ex = WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_TRANSPARENT;

     rect.left -= REGION_WND_BORDER; rect.top -= REGION_WND_BORDER;
     rect.right += REGION_WND_BORDER; rect.bottom += REGION_WND_BORDER;

     AdjustWindowRectEx(&rect, style, FALSE, ex);

     // Create a window with no owner; use WC_DIALOG instead of writing
a custom
     // window class
     hwnd = CreateWindowEx(ex, WC_DIALOG, NULL, style, rect.left, rect.top,
             rect.right - rect.left, rect.bottom - rect.top,
             NULL, NULL, NULL, NULL);


Am 31.08.2020 um 11:40 schrieb Paul B Mahol:
> On 8/31/20, Norbert Marouschek <norbert.marouschek at web.de> wrote:
>> Dear Developers,
>>
>> I would like to use ffplay.exe in may application to play video files
>> and to show live video sources. Thank you for that great application
>> that covers all these possibilities! However as soon as ffplay.exe loses
>> the input focus the fullscreen window of ffplay is iconified. I aloready
>> reviewed the source code (event loop) but was notz abel to identify the
>> handling that causes that behaviour.
>>
>> Is it possible to change the behaviour so that ffplay stays maximised
>> even if the focus is lost or the ffplay windows is covered by an other
>> window? Possibly by using a command line option?
> I think that depends on underlying SDL library.
>
>> Best regards,
>>        Norbert Marouschek.
>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list