mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/mmst: propagate error code from avio_put_str16le()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
1062a7f404
commit
7561974dfe
@ -152,7 +152,7 @@ static int send_command_packet(MMSTContext *mmst)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void mms_put_utf16(MMSContext *mms, const uint8_t *src)
|
||||
static int mms_put_utf16(MMSContext *mms, const uint8_t *src)
|
||||
{
|
||||
AVIOContext bic;
|
||||
int size = mms->write_out_ptr - mms->out_buffer;
|
||||
@ -161,7 +161,10 @@ static void mms_put_utf16(MMSContext *mms, const uint8_t *src)
|
||||
sizeof(mms->out_buffer) - size, 1, NULL, NULL, NULL, NULL);
|
||||
|
||||
len = avio_put_str16le(&bic, src);
|
||||
if (len < 0)
|
||||
return len;
|
||||
mms->write_out_ptr += len;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int send_time_test_data(MMSTContext *mmst)
|
||||
@ -173,6 +176,7 @@ static int send_time_test_data(MMSTContext *mmst)
|
||||
|
||||
static int send_protocol_select(MMSTContext *mmst)
|
||||
{
|
||||
int ret;
|
||||
char data_string[256];
|
||||
MMSContext *mms = &mmst->mms;
|
||||
|
||||
@ -189,18 +193,21 @@ static int send_protocol_select(MMSTContext *mmst)
|
||||
"TCP", // or UDP
|
||||
LOCAL_PORT);
|
||||
|
||||
mms_put_utf16(mms, data_string);
|
||||
if ((ret = mms_put_utf16(mms, data_string)) < 0)
|
||||
return ret;
|
||||
return send_command_packet(mmst);
|
||||
}
|
||||
|
||||
static int send_media_file_request(MMSTContext *mmst)
|
||||
{
|
||||
int ret;
|
||||
MMSContext *mms = &mmst->mms;
|
||||
start_command_packet(mmst, CS_PKT_MEDIA_FILE_REQUEST);
|
||||
insert_command_prefixes(mms, 1, 0xffffffff);
|
||||
bytestream_put_le32(&mms->write_out_ptr, 0);
|
||||
bytestream_put_le32(&mms->write_out_ptr, 0);
|
||||
mms_put_utf16(mms, mmst->path + 1); // +1 for skip "/"
|
||||
if ((ret = mms_put_utf16(mms, mmst->path + 1)) < 0) // +1 for skip "/"
|
||||
return ret;
|
||||
|
||||
return send_command_packet(mmst);
|
||||
}
|
||||
@ -417,6 +424,7 @@ static int send_media_header_request(MMSTContext *mmst)
|
||||
static int send_startup_packet(MMSTContext *mmst)
|
||||
{
|
||||
char data_string[256];
|
||||
int ret;
|
||||
MMSContext *mms = &mmst->mms;
|
||||
// SubscriberName is defined in MS specification linked below.
|
||||
// The guid value can be any valid value.
|
||||
@ -429,7 +437,8 @@ static int send_startup_packet(MMSTContext *mmst)
|
||||
start_command_packet(mmst, CS_PKT_INITIAL);
|
||||
insert_command_prefixes(mms, 0, 0x0004000b);
|
||||
bytestream_put_le32(&mms->write_out_ptr, 0x0003001c);
|
||||
mms_put_utf16(mms, data_string);
|
||||
if ((ret = mms_put_utf16(mms, data_string)) < 0)
|
||||
return ret;
|
||||
return send_command_packet(mmst);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user