Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,10 @@ jobs:
./use-uchardet-master
./use-rubberband-master
./use-libdisplay-info-master
./use-ffmpeg-custom release/7.1
./use-ffmpeg-custom n7.1.5
./use-libass-master
./use-libplacebo-master
./use-mpv-custom 95c7599c41a4c7e332848fdb7e594650c1564e45
./use-libplacebo-custom 4c426e466814536def653cb23f1d1c287ea7a7f5
./use-mpv-custom f011d73d5fcf3f1907bbd6ddde3e860e3d611cf9

echo "updating submodules"

Expand All @@ -149,15 +149,14 @@ jobs:
cd ../

echo "applying patches to mpv"

ls -l

cd mpv
for PATCH_FILE in $PATCH_DIR/mpv/*.patch; do
if [ -f "$PATCH_FILE" ]; then
echo "Applying patch: $PATCH_FILE"
git apply "$PATCH_FILE"
else
echo "No patch files found in $PATCH_DIR"
echo "No patch files found in $PATCH_DIR/mpv"
exit 1
fi
done
Expand Down Expand Up @@ -222,4 +221,4 @@ jobs:
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 0 additions & 2 deletions external/build
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ export LC_ALL=C

#scripts/fribidi-config
#scripts/fribidi-build "$@"
scripts/sndio-config
scripts/sndio-build "$@"
scripts/bzip2-config
scripts/bzip2-build "$@"
scripts/uchardet-config
Expand Down
1 change: 0 additions & 1 deletion external/clean
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ export LC_ALL=C
scripts/ffmpeg-clean
scripts/fribidi-clean
scripts/rubberband-clean
scripts/sndio-clean
scripts/uchardet-clean
scripts/bzip2-clean
scripts/libxpresent-clean
Expand Down
5 changes: 0 additions & 5 deletions external/scripts/sndio-build

This file was deleted.

5 changes: 0 additions & 5 deletions external/scripts/sndio-clean

This file was deleted.

27 changes: 0 additions & 27 deletions external/scripts/sndio-config

This file was deleted.

1 change: 0 additions & 1 deletion external/update
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ do_clone_all()
{
do_clone "ffmpeg" "https://github.com/FFmpeg/FFmpeg.git"
#do_clone "fribidi" "http://anongit.freedesktop.org/git/fribidi/fribidi.git"
do_clone "sndio" "https://sndio.org/git/sndio"
do_clone "bzip2" "https://github.com/libarchive/bzip2.git"
do_clone "uchardet" "https://gitlab.freedesktop.org/uchardet/uchardet.git"
do_clone "libxpresent" "https://gitlab.freedesktop.org/xorg/lib/libxpresent.git"
Expand Down
5 changes: 0 additions & 5 deletions external/use-sndio-master

This file was deleted.

22 changes: 11 additions & 11 deletions patch/ffmpeg/ffmpeg-hls-kazumi-combined.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/libavformat/hls.c b/libavformat/hls.c
index fe008ee..34e43da 100644
index 900e96c..f6d1a80 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -84,6 +84,8 @@ struct segment {
Expand Down Expand Up @@ -32,7 +32,7 @@ index fe008ee..34e43da 100644
} HLSContext;

static void free_segment_dynarray(struct segment **segments, int n_segments)
@@ -799,6 +808,8 @@ static int parse_playlist(HLSContext *c, const char *url,
@@ -804,6 +813,8 @@ static int parse_playlist(HLSContext *c, const char *url,
struct segment **prev_segments = NULL;
int prev_n_segments = 0;
int64_t prev_start_seq_no = -1;
Expand All @@ -41,7 +41,7 @@ index fe008ee..34e43da 100644

if (is_http && !in && c->http_persistent && c->playlist_pb) {
in = c->playlist_pb;
@@ -965,6 +976,15 @@ static int parse_playlist(HLSContext *c, const char *url,
@@ -975,6 +986,15 @@ static int parse_playlist(HLSContext *c, const char *url,
} else if (av_strstart(line, "#EXT-X-ENDLIST", &ptr)) {
if (pls)
pls->finished = 1;
Expand All @@ -55,9 +55,9 @@ index fe008ee..34e43da 100644
+ next_seg_after_discontinuity = 1;
+ }
} else if (av_strstart(line, "#EXTINF:", &ptr)) {
is_segment = 1;
duration = atof(ptr) * AV_TIME_BASE;
@@ -1064,6 +1084,9 @@ static int parse_playlist(HLSContext *c, const char *url,
double d = atof(ptr) * AV_TIME_BASE;
if (d < 0 || d > INT64_MAX || isnan(d)) {
@@ -1083,6 +1103,9 @@ static int parse_playlist(HLSContext *c, const char *url,
}

seg->init_section = cur_init_section;
Expand All @@ -67,7 +67,7 @@ index fe008ee..34e43da 100644
}
}
}
@@ -1993,6 +2016,8 @@ static int hls_read_header(AVFormatContext *s)
@@ -2012,6 +2035,8 @@ static int hls_read_header(AVFormatContext *s)
c->first_packet = 1;
c->first_timestamp = AV_NOPTS_VALUE;
c->cur_timestamp = AV_NOPTS_VALUE;
Expand All @@ -76,7 +76,7 @@ index fe008ee..34e43da 100644

if ((ret = ffio_copy_url_options(s->pb, &c->avio_opts)) < 0)
return ret;
@@ -2167,7 +2192,30 @@ static int hls_read_header(AVFormatContext *s)
@@ -2186,7 +2211,30 @@ static int hls_read_header(AVFormatContext *s)
pls->ctx->max_analyze_duration = s->max_analyze_duration > 0 ? s->max_analyze_duration : 4 * AV_TIME_BASE;
pls->ctx->interrupt_callback = s->interrupt_callback;
url = av_strdup(pls->segments[0]->url);
Expand Down Expand Up @@ -108,7 +108,7 @@ index fe008ee..34e43da 100644

for (int n = 0; n < pls->n_segments; n++)
if (ret >= 0)
@@ -2387,6 +2435,67 @@ static int hls_read_packet(AVFormatContext *s, AVPacket *pkt)
@@ -2406,6 +2454,67 @@ static int hls_read_packet(AVFormatContext *s, AVPacket *pkt)
}

seg = current_segment(pls);
Expand Down Expand Up @@ -176,7 +176,7 @@ index fe008ee..34e43da 100644
if (seg && seg->key_type == KEY_SAMPLE_AES && !strstr(pls->ctx->iformat->name, "mov")) {
enum AVCodecID codec_id = pls->ctx->streams[pls->pkt->stream_index]->codecpar->codec_id;
memcpy(c->crypto_ctx.iv, seg->iv, sizeof(seg->iv));
@@ -2500,6 +2609,9 @@ static int hls_read_seek(AVFormatContext *s, int stream_index,
@@ -2519,6 +2628,9 @@ static int hls_read_seek(AVFormatContext *s, int stream_index,
int64_t timestamp, int flags)
{
HLSContext *c = s->priv_data;
Expand All @@ -186,7 +186,7 @@ index fe008ee..34e43da 100644
struct playlist *seek_pls = NULL;
int i, j;
int stream_subdemuxer_index;
@@ -2664,6 +2776,10 @@ static const AVOption hls_options[] = {
@@ -2683,6 +2795,10 @@ static const AVOption hls_options[] = {
OFFSET(seg_format_opts), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, FLAGS},
{"seg_max_retry", "Maximum number of times to reload a segment on error.",
OFFSET(seg_max_retry), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, FLAGS},
Expand Down
Loading