diff options
author | Lukasz Marek <lukasz.m.luki2@gmail.com> | 2014-05-02 00:06:38 +0200 |
---|---|---|
committer | Lukasz Marek <lukasz.m.luki2@gmail.com> | 2014-05-02 17:46:37 +0200 |
commit | 41e4c6d8c5fb621341f0c197f9ec32d4002d600d (patch) | |
tree | dd47c18d21bb6366c51b3fa67dc809431b36e307 /libavdevice/opengl_enc.c | |
parent | c60b266eac18e69382a965a375233e3bbfa91229 (diff) | |
download | ffmpeg-41e4c6d8c5fb621341f0c197f9ec32d4002d600d.tar.gz |
lavd/opengl_enc: use flag to mark inited context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Diffstat (limited to 'libavdevice/opengl_enc.c')
-rw-r--r-- | libavdevice/opengl_enc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c index 5f9748dd6f..35c048e734 100644 --- a/libavdevice/opengl_enc.c +++ b/libavdevice/opengl_enc.c @@ -178,6 +178,7 @@ typedef struct OpenGLContext { #endif FFOpenGLFunctions glprocs; + int inited; ///< Set to 1 when write_header was successfully called. uint8_t background[4]; ///< Background color int no_window; ///< 0 for create default window char *window_title; ///< Title of the window @@ -309,8 +310,7 @@ static int opengl_resize(AVFormatContext *h, int width, int height) OpenGLContext *opengl = h->priv_data; opengl->window_width = width; opengl->window_height = height; - /* max_viewport_width == 0 means write_header was not called yet. */ - if (opengl->max_viewport_width) { + if (opengl->inited) { if (opengl->no_window && (ret = avdevice_dev_to_app_control_message(h, AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER, NULL , 0)) < 0) { av_log(opengl, AV_LOG_ERROR, "Application failed to prepare window buffer.\n"); @@ -1110,6 +1110,8 @@ static av_cold int opengl_write_header(AVFormatContext *h) ret = AVERROR_EXTERNAL; OPENGL_ERROR_CHECK(opengl); + + opengl->inited = 1; return 0; fail: |