diff --git a/libavformat/mmst.c b/libavformat/mmst.c
index 26975f524a71d975ea96d5d63e6e4a2bec6a02eb..32e98f78129b7cd56e69ae2f2cae67559bedf070 100644
--- a/libavformat/mmst.c
+++ b/libavformat/mmst.c
@@ -155,7 +155,7 @@ static void insert_command_prefixes(MMSContext *mms,
 static int send_command_packet(MMSContext *mms)
 {
     int len= mms->write_out_ptr - mms->out_buffer;
-    int exact_length = (len + 7) & ~7;
+    int exact_length = FFALIGN(len, 8);
     int first_length= exact_length - 16;
     int len8= first_length/8;
     int write_result;