فهرست منبع

Fixed a minor bug in avcodec_close

Josh Yelon 18 سال پیش
والد
کامیت
6137de1f17
2فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 2 2
      panda/src/movies/ffmpegAudioCursor.cxx
  2. 2 2
      panda/src/movies/ffmpegVideoCursor.cxx

+ 2 - 2
panda/src/movies/ffmpegAudioCursor.cxx

@@ -135,10 +135,10 @@ cleanup() {
     _buffer_alloc = 0;
     _buffer_alloc = 0;
     _buffer = 0;
     _buffer = 0;
   }
   }
-  if (_audio_ctx) {
+  if ((_audio_ctx)&&(_audio_ctx->codec)) {
     avcodec_close(_audio_ctx);
     avcodec_close(_audio_ctx);
-    _audio_ctx = 0;
   }
   }
+  _audio_ctx = 0;
   if (_format_ctx) {
   if (_format_ctx) {
     av_close_input_file(_format_ctx);
     av_close_input_file(_format_ctx);
     _format_ctx = 0;
     _format_ctx = 0;

+ 2 - 2
panda/src/movies/ffmpegVideoCursor.cxx

@@ -144,10 +144,10 @@ cleanup() {
     delete _packet;
     delete _packet;
     _packet = 0;
     _packet = 0;
   }
   }
-  if (_video_ctx) {
+  if ((_video_ctx)&&(_video_ctx->codec)) {
     avcodec_close(_video_ctx);
     avcodec_close(_video_ctx);
-    _video_ctx = 0;
   }
   }
+  _video_ctx = 0;
   if (_format_ctx) {
   if (_format_ctx) {
     av_close_input_file(_format_ctx);
     av_close_input_file(_format_ctx);
     _format_ctx = 0;
     _format_ctx = 0;