summaryrefslogtreecommitdiff
path: root/libavdevice/opengl_enc.c
diff options
context:
space:
mode:
authorLukasz Marek <lukasz.m.luki2@gmail.com>2014-05-02 00:06:38 +0200
committerLukasz Marek <lukasz.m.luki2@gmail.com>2014-05-02 17:46:37 +0200
commit41e4c6d8c5fb621341f0c197f9ec32d4002d600d (patch)
treedd47c18d21bb6366c51b3fa67dc809431b36e307 /libavdevice/opengl_enc.c
parentc60b266eac18e69382a965a375233e3bbfa91229 (diff)
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.c6
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: