hlsdemux2: Ensure processed webvtt ends with empty new line

Parsers downstream will use empty new lines to detect where an entry
ends. Failure to have a newline would cause the entry to be either
discarded or (wrongly) concatenated with the next entry

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2752

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4963>
This commit is contained in:
Edward Hervey 2023-07-04 10:57:01 +02:00 committed by Edward Hervey
parent f825b7aba3
commit 711198a1a9

View file

@ -944,6 +944,10 @@ gst_hlsdemux_handle_content_webvtt (GstHLSDemux * demux,
out:
if (ret) {
gchar *newfile;
/* Ensure file always ends with an empty newline by adding an empty
* line. This helps downstream parsers properly detect entries */
g_ptr_array_add (builder, g_strdup ("\n"));
/* Add NULL-terminator to string list */
g_ptr_array_add (builder, NULL);
newfile = g_strjoinv ("\n", (gchar **) builder->pdata);