Mercurial > libavformat.hg
changeset 6292:54715a725139 libavformat
Align outgoing messages to 8 bytes, this is required to interact with
most servers. Also remove a case where we manually aligned to 8 bytes,
since this is now no longer needed.
Patch by Zhentan Feng <spyfeng gmail com>.
author | rbultje |
---|---|
date | Tue, 20 Jul 2010 15:07:31 +0000 |
parents | 3a8dfc455ff0 |
children | 130d730d1c5e |
files | mmst.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mmst.c Tue Jul 20 15:05:45 2010 +0000 +++ b/mmst.c Tue Jul 20 15:07:31 2010 +0000 @@ -146,7 +146,8 @@ /** Send a prepared MMST command packet. */ static int send_command_packet(MMSContext *mms) { - int exact_length= mms->write_out_ptr - mms->out_buffer; + int len= mms->write_out_ptr - mms->out_buffer; + int exact_length = (len + 7) & ~7; int first_length= exact_length - 16; int len8= first_length/8; int write_result; @@ -155,6 +156,7 @@ AV_WL32(mms->out_buffer + 8, first_length); AV_WL32(mms->out_buffer + 16, len8); AV_WL32(mms->out_buffer + 32, len8-2); + memset(mms->write_out_ptr, 0, exact_length - len); // write it out. write_result= url_write(mms->mms_hd, mms->out_buffer, exact_length); @@ -491,9 +493,6 @@ bytestream_put_le16(&mms->write_out_ptr, mms->streams[i].id); // stream id bytestream_put_le16(&mms->write_out_ptr, 0); // selection } - - bytestream_put_le16(&mms->write_out_ptr, 0); - return send_command_packet(mms); }