[FFmpeg-cvslog] lavd/opengl_enc: use flag to mark inited context
Lukasz Marek
git at videolan.org
Fri May 2 19:02:14 CEST 2014
ffmpeg | branch: master | Lukasz Marek <lukasz.m.luki2 at gmail.com> | Fri May 2 00:06:38 2014 +0200| [41e4c6d8c5fb621341f0c197f9ec32d4002d600d] | committer: Lukasz Marek
lavd/opengl_enc: use flag to mark inited context
Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=41e4c6d8c5fb621341f0c197f9ec32d4002d600d
---
libavdevice/opengl_enc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
index 5f9748d..35c048e 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:
More information about the ffmpeg-cvslog
mailing list