diff --git a/doc/examples/output.c b/doc/examples/output.c
index 7c29df1fdf251a55a3e91f5176142ef510f33d8b..098565950916664c035836d99681467cb5bedbd9 100644
--- a/doc/examples/output.c
+++ b/doc/examples/output.c
@@ -549,18 +549,12 @@ int main(int argc, char **argv)
     if (have_audio)
         close_stream(oc, &audio_st);
 
-    /* Free the streams. */
-    for (i = 0; i < oc->nb_streams; i++) {
-        av_freep(&oc->streams[i]->codec);
-        av_freep(&oc->streams[i]);
-    }
-
     if (!(fmt->flags & AVFMT_NOFILE))
         /* Close the output file. */
         avio_close(oc->pb);
 
     /* free the stream */
-    av_free(oc);
+    avformat_free_context(oc);
 
     return 0;
 }