X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmmst.c;h=a6fe696f5fc1ec5febe18a82b1b2ad0d4e57b0cb;hb=cd2f7ed0007f4803b6bd845366b2398abb32c355;hp=0a728eb35f9e86a491c19b7d9a3f9d4a8912955b;hpb=1e19927f12a2a65954aabf38b584025beff15cc3;p=ffmpeg diff --git a/libavformat/mmst.c b/libavformat/mmst.c index 0a728eb35f9..a6fe696f5fc 100644 --- a/libavformat/mmst.c +++ b/libavformat/mmst.c @@ -470,7 +470,6 @@ static int mms_close(URLContext *h) /* free all separately allocated pointers in mms */ av_free(mms->streams); av_free(mms->asf_header); - av_freep(&h->priv_data); return 0; } @@ -502,15 +501,12 @@ static void clear_stream_buffers(MMSContext *mms) static int mms_open(URLContext *h, const char *uri, int flags) { - MMSTContext *mmst; + MMSTContext *mmst = h->priv_data; MMSContext *mms; int port, err; char tcpname[256]; h->is_streamed = 1; - mmst = h->priv_data = av_mallocz(sizeof(MMSTContext)); - if (!h->priv_data) - return AVERROR(ENOMEM); mms = &mmst->mms; // only for MMS over TCP, so set proto = NULL @@ -624,8 +620,9 @@ static int mms_read(URLContext *h, uint8_t *buf, int size) } URLProtocol ff_mmst_protocol = { - .name = "mmst", - .url_open = mms_open, - .url_read = mms_read, - .url_close = mms_close, + .name = "mmst", + .url_open = mms_open, + .url_read = mms_read, + .url_close = mms_close, + .priv_data_size = sizeof(MMSTContext), };