Message ID | 20230601194347.1162-1-kasper93@gmail.com |
---|---|
State | Accepted |
Commit | 0cd2e7dcfbc835f4519f1b2b7da6bd902dbb0190 |
Headers | show |
Series | [FFmpeg-devel,v2] avformat/http: copy only mime type from Content-Type | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Thu, 1 Jun 2023 at 21:44, Kacper Michajłow <kasper93@gmail.com> wrote: > > Content-Type can include charset and boundary which is not a part of > mime type and shouldn't be copied as such. > > Fixes HLS playback when the Content-Type includes additional fields. > > Signed-off-by: Kacper Michajłow <kasper93@gmail.com> > --- > libavformat/http.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavformat/http.c b/libavformat/http.c > index 0817aafb5b..fd931c2d8e 100644 > --- a/libavformat/http.c > +++ b/libavformat/http.c > @@ -1205,7 +1205,7 @@ static int process_line(URLContext *h, char *line, int line_count) > } > } else if (!av_strcasecmp(tag, "Content-Type")) { > av_free(s->mime_type); > - s->mime_type = av_strdup(p); > + s->mime_type = av_get_token((const char **)&p, ";"); > } else if (!av_strcasecmp(tag, "Set-Cookie")) { > if (parse_cookie(s, p, &s->cookie_dict)) > av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", p); > -- > 2.34.1 > Bump. I would prefer this smal thing to be fixed upstream, than adding workaround. Thanks.
On 6/16/23 13:46, Kacper Michajlow wrote: > On Thu, 1 Jun 2023 at 21:44, Kacper Michajłow <kasper93@gmail.com> wrote: >> >> Content-Type can include charset and boundary which is not a part of >> mime type and shouldn't be copied as such. >> >> Fixes HLS playback when the Content-Type includes additional fields. >> >> Signed-off-by: Kacper Michajłow <kasper93@gmail.com> >> --- >> libavformat/http.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavformat/http.c b/libavformat/http.c >> index 0817aafb5b..fd931c2d8e 100644 >> --- a/libavformat/http.c >> +++ b/libavformat/http.c >> @@ -1205,7 +1205,7 @@ static int process_line(URLContext *h, char *line, int line_count) >> } >> } else if (!av_strcasecmp(tag, "Content-Type")) { >> av_free(s->mime_type); >> - s->mime_type = av_strdup(p); >> + s->mime_type = av_get_token((const char **)&p, ";"); >> } else if (!av_strcasecmp(tag, "Set-Cookie")) { >> if (parse_cookie(s, p, &s->cookie_dict)) >> av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", p); >> -- >> 2.34.1 >> > > Bump. I would prefer this smal thing to be fixed upstream, than adding > workaround. > > Thanks. LGTM, will push tomorrow if no objections. - Leo Izen
On 6/28/23 20:12, Leo Izen wrote: > On 6/16/23 13:46, Kacper Michajlow wrote: >> On Thu, 1 Jun 2023 at 21:44, Kacper Michajłow <kasper93@gmail.com> wrote: >>> >>> Content-Type can include charset and boundary which is not a part of >>> mime type and shouldn't be copied as such. >>> >>> Fixes HLS playback when the Content-Type includes additional fields. >>> >>> Signed-off-by: Kacper Michajłow <kasper93@gmail.com> >>> --- >>> libavformat/http.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/libavformat/http.c b/libavformat/http.c >>> index 0817aafb5b..fd931c2d8e 100644 >>> --- a/libavformat/http.c >>> +++ b/libavformat/http.c >>> @@ -1205,7 +1205,7 @@ static int process_line(URLContext *h, char >>> *line, int line_count) >>> } >>> } else if (!av_strcasecmp(tag, "Content-Type")) { >>> av_free(s->mime_type); >>> - s->mime_type = av_strdup(p); >>> + s->mime_type = av_get_token((const char **)&p, ";"); >>> } else if (!av_strcasecmp(tag, "Set-Cookie")) { >>> if (parse_cookie(s, p, &s->cookie_dict)) >>> av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", >>> p); >>> -- >>> 2.34.1 >>> >> >> Bump. I would prefer this smal thing to be fixed upstream, than adding >> workaround. >> >> Thanks. > > LGTM, will push tomorrow if no objections. > > - Leo Izen > Pushed as 0cd2e7dcfbc8. - Leo Izen
diff --git a/libavformat/http.c b/libavformat/http.c index 0817aafb5b..fd931c2d8e 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -1205,7 +1205,7 @@ static int process_line(URLContext *h, char *line, int line_count) } } else if (!av_strcasecmp(tag, "Content-Type")) { av_free(s->mime_type); - s->mime_type = av_strdup(p); + s->mime_type = av_get_token((const char **)&p, ";"); } else if (!av_strcasecmp(tag, "Set-Cookie")) { if (parse_cookie(s, p, &s->cookie_dict)) av_log(h, AV_LOG_WARNING, "Unable to parse '%s'\n", p);
Content-Type can include charset and boundary which is not a part of mime type and shouldn't be copied as such. Fixes HLS playback when the Content-Type includes additional fields. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> --- libavformat/http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)