examples/decoding_encoding: check av_samples_get_buffer_size() return code
[ffmpeg.git] / doc / examples / decoding_encoding.c
index 99aeb1c..4d2813b 100644 (file)
@@ -170,6 +170,10 @@ static void audio_encode_example(const char *filename)
      * we calculate the size of the samples buffer in bytes */
     buffer_size = av_samples_get_buffer_size(NULL, c->channels, c->frame_size,
                                              c->sample_fmt, 0);
      * we calculate the size of the samples buffer in bytes */
     buffer_size = av_samples_get_buffer_size(NULL, c->channels, c->frame_size,
                                              c->sample_fmt, 0);
+    if (!buffer_size) {
+        fprintf(stderr, "Could not get sample buffer size\n");
+        exit(1);
+    }
     samples = av_malloc(buffer_size);
     if (!samples) {
         fprintf(stderr, "Could not allocate %d bytes for samples buffer\n",
     samples = av_malloc(buffer_size);
     if (!samples) {
         fprintf(stderr, "Could not allocate %d bytes for samples buffer\n",
@@ -227,7 +231,7 @@ static void audio_encode_example(const char *filename)
     fclose(f);
 
     av_freep(&samples);
     fclose(f);
 
     av_freep(&samples);
-    avcodec_free_frame(&frame);
+    av_frame_free(&frame);
     avcodec_close(c);
     av_free(c);
 }
     avcodec_close(c);
     av_free(c);
 }
@@ -291,8 +295,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
                 fprintf(stderr, "Could not allocate audio frame\n");
                 exit(1);
             }
                 fprintf(stderr, "Could not allocate audio frame\n");
                 exit(1);
             }
-        } else
-            avcodec_get_frame_defaults(decoded_frame);
+        }
 
         len = avcodec_decode_audio4(c, decoded_frame, &got_frame, &avpkt);
         if (len < 0) {
 
         len = avcodec_decode_audio4(c, decoded_frame, &got_frame, &avpkt);
         if (len < 0) {
@@ -329,7 +332,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
 
     avcodec_close(c);
     av_free(c);
 
     avcodec_close(c);
     av_free(c);
-    avcodec_free_frame(&decoded_frame);
+    av_frame_free(&decoded_frame);
 }
 
 /*
 }
 
 /*
@@ -467,7 +470,7 @@ static void video_encode_example(const char *filename, int codec_id)
     avcodec_close(c);
     av_free(c);
     av_freep(&frame->data[0]);
     avcodec_close(c);
     av_free(c);
     av_freep(&frame->data[0]);
-    avcodec_free_frame(&frame);
+    av_frame_free(&frame);
     printf("\n");
 }
 
     printf("\n");
 }
 
@@ -609,7 +612,7 @@ static void video_decode_example(const char *outfilename, const char *filename)
 
     avcodec_close(c);
     av_free(c);
 
     avcodec_close(c);
     av_free(c);
-    avcodec_free_frame(&frame);
+    av_frame_free(&frame);
     printf("\n");
 }
 
     printf("\n");
 }