Add missing HLS MIME type: audio/mpegurl Update FFmpeg to version 7.1.1, carrying the same patches, and one new patch: Implementing support for HLS ID3 tags changing mid-stream. We cannot do away with fdk-aac yet, because the USAC codec is missing features that fdk-aac implements already. Fixes #428 Signed-off-by: Christopher Snowhill <kode54@gmail.com>
27 lines
1.2 KiB
Diff
27 lines
1.2 KiB
Diff
diff -ur ffmpeg-7.1.1.orig/libavformat/hls.c ffmpeg-7.1.1/libavformat/hls.c
|
|
--- ffmpeg-7.1.1.orig/libavformat/hls.c 2025-03-02 13:08:21.000000000 -0800
|
|
+++ ffmpeg-7.1.1/libavformat/hls.c 2025-03-24 04:38:04.672676124 -0700
|
|
@@ -153,7 +153,6 @@
|
|
unsigned int id3_buf_size;
|
|
AVDictionary *id3_initial; /* data from first id3 tag */
|
|
int id3_found; /* ID3 tag found at some point */
|
|
- int id3_changed; /* ID3 tag data has changed at some point */
|
|
ID3v2ExtraMeta *id3_deferred_extra; /* stored here until subdemuxer is opened */
|
|
|
|
HLSAudioSetupInfo audio_setup_info;
|
|
@@ -1218,9 +1217,12 @@
|
|
pls->id3_initial = metadata;
|
|
|
|
} else {
|
|
- if (!pls->id3_changed && id3_has_changed_values(pls, metadata, apic)) {
|
|
- avpriv_report_missing_feature(pls->parent, "Changing ID3 metadata in HLS audio elementary stream");
|
|
- pls->id3_changed = 1;
|
|
+ if (id3_has_changed_values(pls, metadata, apic)) {
|
|
+ AVDictionary *old = pls->id3_initial;
|
|
+ av_dict_copy(&pls->ctx->metadata, metadata, 0);
|
|
+ pls->id3_initial = metadata;
|
|
+ metadata = old;
|
|
+ pls->ctx->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
|
|
}
|
|
av_dict_free(&metadata);
|
|
}
|