diff --git a/Changelog b/Changelog
index 51feb54d680aa673f349ac40d52546e41a0e9bff..c6243d6d840f1c0f72af1ff375b632a2491ef7bf 100644
--- a/Changelog
+++ b/Changelog
@@ -92,6 +92,7 @@ version <next>
 - OS/2 support removed
 - AC-3 decoder
 - NUT muxer (since r10052)
+- Matroska muxer
 
 version 0.4.9-pre1:
 
diff --git a/MAINTAINERS b/MAINTAINERS
index db92b285a6ddc3e0f62eb2515900b8c206be2492..bb34b0c08363e0ca2643c8a825a1424d7150644b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -222,6 +222,7 @@ Muxers/Demuxers:
   img2.c                                Michael Niedermayer
   libnut.c                              Oded Shimon
   matroska.c                            Aurelien Jacobs
+  matroskaenc.c                         David Conrad
   mov.c                                 Michael Niedermayer, Baptiste Coudurier
   movenc.c                              Michael Niedermayer, Baptiste Coudurier
   mpc.c                                 Kostya Shishkov
diff --git a/doc/general.texi b/doc/general.texi
index 91471b6ee830aaa5e448adb574a4094c3c742d6f..3160a4d7d781e3d7300a3ff83228d85a566e72c7 100644
--- a/doc/general.texi
+++ b/doc/general.texi
@@ -85,7 +85,7 @@ library:
 @tab Used in Sierra CD-ROM games.
 @item Sierra Online    @tab    @tab X
 @tab .sol files used in Sierra Online games.
-@item Matroska         @tab    @tab X
+@item Matroska         @tab X  @tab X
 @item Electronic Arts Multimedia    @tab    @tab X
 @tab Used in various EA games; files have extensions like WVE and UV2.
 @item Nullsoft Video (NSV) format @tab    @tab X
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 11fd2cf652596db77d9aedb4cd406d72750f96c6..6ccf672e37734311ea83efb4930694b47e1e5aa4 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -70,7 +70,9 @@ OBJS-$(CONFIG_INGENIENT_DEMUXER)         += raw.o
 OBJS-$(CONFIG_IPMOVIE_DEMUXER)           += ipmovie.o
 OBJS-$(CONFIG_M4V_DEMUXER)               += raw.o
 OBJS-$(CONFIG_M4V_MUXER)                 += raw.o
+OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)      += matroskaenc.o matroska.o riff.o
 OBJS-$(CONFIG_MATROSKA_DEMUXER)          += matroskadec.o matroska.o riff.o
+OBJS-$(CONFIG_MATROSKA_MUXER)            += matroskaenc.o matroska.o riff.o
 OBJS-$(CONFIG_MJPEG_DEMUXER)             += raw.o
 OBJS-$(CONFIG_MJPEG_MUXER)               += raw.o
 OBJS-$(CONFIG_MM_DEMUXER)                += mm.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index e18063531d69bde38e1e06a40070865bb9501efb..5b5f88f86221dfbd796c84f4e4d7944b0999ca1a 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -91,7 +91,8 @@ void av_register_all(void)
     if (!ENABLE_NUT_DEMUXER) REGISTER_DEMUXER (LIBNUT, libnut);
     if (!ENABLE_NUT_MUXER)   REGISTER_MUXER   (LIBNUT, libnut);
     REGISTER_MUXDEMUX(M4V, m4v);
-    REGISTER_DEMUXER (MATROSKA, matroska);
+    REGISTER_MUXDEMUX(MATROSKA, matroska);
+    REGISTER_MUXER   (MATROSKA_AUDIO, matroska_audio);
     REGISTER_MUXDEMUX(MJPEG, mjpeg);
     REGISTER_DEMUXER (MM, mm);
     REGISTER_MUXDEMUX(MMF, mmf);
diff --git a/libavformat/allformats.h b/libavformat/allformats.h
index 4ae01e6e28d73a504a0259448b143916c026ba80..d17a146e7cbf287e5816f6b44056150a85724e65 100644
--- a/libavformat/allformats.h
+++ b/libavformat/allformats.h
@@ -144,6 +144,8 @@ extern AVOutputFormat image_muxer;
 extern AVOutputFormat imagepipe_muxer;
 extern AVOutputFormat libnut_muxer;
 extern AVOutputFormat m4v_muxer;
+extern AVOutputFormat matroska_audio_muxer;
+extern AVOutputFormat matroska_muxer;
 extern AVOutputFormat mjpeg_muxer;
 extern AVOutputFormat mmf_muxer;
 extern AVOutputFormat mov_muxer;