ESPN+ & FOX Sports with Custom Channels via EPlusTV

I'm seeing that in the Channels DVR log on the last 2 interrupted recordings.
The one from last night failed to get the playlist.
The two today couldn't get the key.

2025/10/29 20:46:49.360599 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E06 2024-11-06 Group B Finals 60s Night 2025-10-29-2000.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=2804.785322
2025/10/29 20:46:49.417297 [DVR] Error running job 1761793200-ch51 The Masked Singer: Could not fetch playlist from 192.168.1.4:8185: GET: http://192.168.1.4:8185/chunklist/219/ChmB84Yn.m3u8: 404 Not Found

2025/10/30 11:02:32.715834 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E09 2024-11-28 Group C Finals A Peanuts  2025-10-30-1059.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=168.151322
2025/10/30 11:02:32.782270 [DVR] Error running job 1761847170-123 The Masked Singer: Failed to download segment 5228690: http://192.168.1.4:8185/channels/219/219-segment-YYuqLBjI.ts: GET: http://192.168.1.4:8185/channels/219/219-key-7W0whR48.key: 404 Not Found: "404 not found"

2025/10/30 12:37:34.872468 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E10 2024-12-04 Quarter Finals Merging of 2025-10-30-1159.mpg": discontinuity_detected=2 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=2272.480778
2025/10/30 12:37:35.040559 [DVR] Error running job 1761850770-123 The Masked Singer: Failed to download segment 5231559: http://192.168.1.4:8185/channels/219/219-segment-Qn5qsWQZ.ts: GET: http://192.168.1.4:8185/channels/219/219-key-huEH0Bm9.key: 404 Not Found: "404 not found"
2025/10/30 12:42:03.694734 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E10 2024-12-04 Quarter Finals Merging of 2025-10-30-1159.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=2542.420667
2025/10/30 12:42:03.751945 [DVR] Error running job 1761850770-123 The Masked Singer: Failed to download segment 5231694: http://192.168.1.4:8185/channels/219/219-segment-TE3rXn91.ts: GET: http://192.168.1.4:8185/channels/219/219-key-4a3CJeCy.key: 404 Not Found: "404 not found"
2025/10/30 12:46:37.046230 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E10 2024-12-04 Quarter Finals Merging of 2025-10-30-1159.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=2815.171078
2025/10/30 12:46:37.065157 [DVR] Error running job 1761850770-123 The Masked Singer: Failed to download segment 5231832: http://192.168.1.4:8185/channels/219/219-segment-mOOnPcXq.ts: GET: http://192.168.1.4:8185/channels/219/219-key-OkDL56Zv.key: 404 Not Found: "404 not found"
2025/10/30 12:51:22.775869 [MTS] Statistics for "TV/The Masked Singer/The Masked Singer S12E10 2024-12-04 Quarter Finals Merging of 2025-10-30-1159.mpg": discontinuity_detected=1 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=3100.824144
2025/10/30 12:51:22.812736 [DVR] Error running job 1761850770-123 The Masked Singer: Failed to download segment 5231976: http://192.168.1.4:8185/channels/219/219-segment-rJ8wulSU.ts: GET: http://192.168.1.4:8185/channels/219/219-key-P3r1aKxk.key: 404 Not Found: "404 not found"
1 Like

When you paste logs here, put them between two lines of 3 backtick characters
```
Paste lines here
Paste lines here
```
so they're easier to read.

Paste lines here
Paste lines here
1 Like

So far, 50% of recordings are interrupted (7 out of 14)
Seeing more couldn't fetch playlist and couldn't get key errors.

That is helpful. That confirms what I saw when testing today -- the keys are not updating. I think that I can figure out a fix soon but wont have time to do it tonight.

I had to change the way it grabs the playlists compared to the other providers in EPlusTV because it was throwing DATERANGE errors for all playlists and the UHD video had no audio.

3 Likes

The logs seem like the docker is polling the m3u8?

It would be preferable to pass the playlist directly to Channels DVR which has better retry logic.

1 Like

The EPlusTV docker proxies the m3u8 in order to request it with the proper headers and tokens.

It looks like Channels accepts custom headers piped after the stream URL -- would Channels pick these up from an HTTP redirect too?

So for example, EPlusTV gets a "virtual channel" request at http://localhost:8000/channels/12.m3u8, and then determines that it assigned Mexico vs Portugal from provider X on that virtual channel at this time. At that point, could EPlusTV just do a HTTP 302 temporary redirect to the provider X stream URL, with the piped user-agent and token headers after the URL?

2 Likes

I updated the code for FoxOne and tested. I recorded about 12 different shows and had no failures. The fix should work and I have issued a PR for it.

1 Like

Thanks, merged into v4.14.2

2 Likes

Just loaded 4.14.2

Got this error???

2025-10-31 17:31:17.131 | Looking for FOX One events...
2025-10-31 17:32:13.501 | Error while loading FoxOne events: AxiosError: timeout of 60000ms exceeded
2025-10-31 17:32:13.501 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-10-31 17:32:13.501 |     at RedirectableRequest.emit (node:events:517:28)
2025-10-31 17:32:13.501 |     at RedirectableRequest.emit (node:domain:489:12)
2025-10-31 17:32:13.501 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-10-31 17:32:13.501 |     at listOnTimeout (node:internal/timers:569:17)
2025-10-31 17:32:13.501 |     at processTimers (node:internal/timers:512:7) {
2025-10-31 17:32:13.501 |   code: 'ECONNABORTED',
2025-10-31 17:32:13.501 |   config: {
2025-10-31 17:32:13.501 |     transitional: {
2025-10-31 17:32:13.501 |       silentJSONParsing: true,
2025-10-31 17:32:13.501 |       forcedJSONParsing: true,
2025-10-31 17:32:13.501 |       clarifyTimeoutError: false
2025-10-31 17:32:13.501 |     },
2025-10-31 17:32:13.501 |     adapter: [ 'xhr', 'http' ],
2025-10-31 17:32:13.501 |     transformRequest: [ [Function: transformRequest] ],
2025-10-31 17:32:13.501 |     transformResponse: [ [Function: transformResponse] ],
2025-10-31 17:32:13.501 |     timeout: 60000,
2025-10-31 17:32:13.501 |     xsrfCookieName: 'XSRF-TOKEN',
2025-10-31 17:32:13.501 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31 17:32:13.501 |     maxContentLength: -1,
2025-10-31 17:32:13.501 |     maxBodyLength: -1,
2025-10-31 17:32:13.501 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31 17:32:13.501 |     validateStatus: [Function: validateStatus],
2025-10-31 17:32:13.501 |     headers: AxiosHeaders {
2025-10-31 17:32:13.501 |       Accept: 'application/json, text/plain, */*',
2025-10-31 17:32:13.501 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)',
2025-10-31 17:32:13.501 |       authorization: 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:13.501 |       'x-fox-apikey': 'Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn',
2025-10-31 17:32:13.501 |       'x-platform-location': 'eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=',
2025-10-31 17:32:13.501 |       'x-fox-zipcode': '68521',
2025-10-31 17:32:13.501 |       'x-home-zipcode': '68521',
2025-10-31 17:32:13.501 |       'x-fox-home-dma': '722',
2025-10-31 17:32:13.501 |       'x-fox-dma': '722',
2025-10-31 17:32:13.501 |       'x-fox-content-entitlement': 'H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=',
2025-10-31 17:32:13.501 |       'x-fox-userauth': 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:13.501 |       'Accept-Encoding': 'gzip, compress, deflate, br'
2025-10-31 17:32:13.501 |     },
2025-10-31 17:32:13.501 |     method: 'get',
2025-10-31 17:32:13.501 |     url: 'https://api.fox.com/dtc/product/config/v1/init',
2025-10-31 17:32:13.501 |     data: undefined
2025-10-31 17:32:13.501 |   },
2025-10-31 17:32:13.501 |   request: <ref *1> Writable {
2025-10-31 17:32:13.501 |     _writableState: WritableState {
2025-10-31 17:32:13.501 |       objectMode: false,
2025-10-31 17:32:13.501 |       highWaterMark: 16384,
2025-10-31 17:32:13.501 |       finalCalled: false,
2025-10-31 17:32:13.501 |       needDrain: false,
2025-10-31 17:32:13.501 |       ending: false,
2025-10-31 17:32:13.501 |       ended: false,
2025-10-31 17:32:13.501 |       finished: false,
2025-10-31 17:32:13.501 |       destroyed: false,
2025-10-31 17:32:13.501 |       decodeStrings: true,
2025-10-31 17:32:13.501 |       defaultEncoding: 'utf8',
2025-10-31 17:32:13.501 |       length: 0,
2025-10-31 17:32:13.501 |       writing: false,
2025-10-31 17:32:13.501 |       corked: 0,
2025-10-31 17:32:13.501 |       sync: true,
2025-10-31 17:32:13.501 |       bufferProcessing: false,
2025-10-31 17:32:13.501 |       onwrite: [Function: bound onwrite],
2025-10-31 17:32:13.501 |       writecb: null,
2025-10-31 17:32:13.501 |       writelen: 0,
2025-10-31 17:32:13.501 |       afterWriteTickInfo: null,
2025-10-31 17:32:13.501 |       buffered: [],
2025-10-31 17:32:13.501 |       bufferedIndex: 0,
2025-10-31 17:32:13.501 |       allBuffers: true,
2025-10-31 17:32:13.501 |       allNoop: true,
2025-10-31 17:32:13.501 |       pendingcb: 0,
2025-10-31 17:32:13.501 |       constructed: true,
2025-10-31 17:32:13.501 |       prefinished: false,
2025-10-31 17:32:13.501 |       errorEmitted: false,
2025-10-31 17:32:13.501 |       emitClose: true,
2025-10-31 17:32:13.501 |       autoDestroy: true,
2025-10-31 17:32:13.501 |       errored: null,
2025-10-31 17:32:13.501 |       closed: false,
2025-10-31 17:32:13.501 |       closeEmitted: false,
2025-10-31 17:32:13.501 |       [Symbol(kOnFinished)]: []
2025-10-31 17:32:13.501 |     },
2025-10-31 17:32:13.501 |     _events: [Object: null prototype] {
2025-10-31 17:32:13.501 |       response: [Function: handleResponse],
2025-10-31 17:32:13.501 |       error: [Function: handleRequestError],
2025-10-31 17:32:13.501 |       socket: [Array]
2025-10-31 17:32:13.501 |     },
2025-10-31 17:32:13.501 |     _eventsCount: 3,
2025-10-31 17:32:13.501 |     _maxListeners: undefined,
2025-10-31 17:32:13.501 |     _options: {
2025-10-31 17:32:13.501 |       maxRedirects: 21,
2025-10-31 17:32:13.501 |       maxBodyLength: Infinity,
2025-10-31 17:32:13.501 |       protocol: 'https:',
2025-10-31 17:32:13.501 |       path: '/dtc/product/config/v1/init',
2025-10-31 17:32:13.501 |       method: 'GET',
2025-10-31 17:32:13.501 |       headers: [Object: null prototype],
2025-10-31 17:32:13.501 |       agents: [Object],
2025-10-31 17:32:13.501 |       auth: undefined,
2025-10-31 17:32:13.501 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31 17:32:13.501 |       beforeRedirects: [Object],
2025-10-31 17:32:13.501 |       hostname: 'api.fox.com',
2025-10-31 17:32:13.501 |       port: '',
2025-10-31 17:32:13.501 |       agent: undefined,
2025-10-31 17:32:13.501 |       nativeProtocols: [Object],
2025-10-31 17:32:13.501 |       pathname: '/dtc/product/config/v1/init'
2025-10-31 17:32:13.501 |     },
2025-10-31 17:32:13.501 |     _ended: true,
2025-10-31 17:32:13.501 |     _ending: true,
2025-10-31 17:32:13.501 |     _redirectCount: 0,
2025-10-31 17:32:13.501 |     _redirects: [],
2025-10-31 17:32:13.501 |     _requestBodyLength: 0,
2025-10-31 17:32:13.501 |     _requestBodyBuffers: [],
2025-10-31 17:32:13.501 |     _onNativeResponse: [Function (anonymous)],
2025-10-31 17:32:13.501 |     _currentRequest: ClientRequest {
2025-10-31 17:32:13.501 |       _events: [Object: null prototype],
2025-10-31 17:32:13.501 |       _eventsCount: 7,
2025-10-31 17:32:13.501 |       _maxListeners: undefined,
2025-10-31 17:32:13.501 |       outputData: [],
2025-10-31 17:32:13.501 |       outputSize: 0,
2025-10-31 17:32:13.501 |       writable: true,
2025-10-31 17:32:13.501 |       destroyed: false,
2025-10-31 17:32:13.501 |       _last: true,
2025-10-31 17:32:13.501 |       chunkedEncoding: false,
2025-10-31 17:32:13.502 |       shouldKeepAlive: false,
2025-10-31 17:32:13.502 |       maxRequestsOnConnectionReached: false,
2025-10-31 17:32:13.502 |       _defaultKeepAlive: true,
2025-10-31 17:32:13.502 |       useChunkedEncodingByDefault: false,
2025-10-31 17:32:13.502 |       sendDate: false,
2025-10-31 17:32:13.502 |       _removedConnection: false,
2025-10-31 17:32:13.502 |       _removedContLen: false,
2025-10-31 17:32:13.502 |       _removedTE: false,
2025-10-31 17:32:13.502 |       strictContentLength: false,
2025-10-31 17:32:13.502 |       _contentLength: 0,
2025-10-31 17:32:13.502 |       _hasBody: true,
2025-10-31 17:32:13.502 |       _trailer: '',
2025-10-31 17:32:13.502 |       finished: true,
2025-10-31 17:32:13.502 |       _headerSent: true,
2025-10-31 17:32:13.502 |       _closed: false,
2025-10-31 17:32:13.502 |       socket: [TLSSocket],
2025-10-31 17:32:13.502 |       _header: 'GET /dtc/product/config/v1/init HTTP/1.1\r\n' +
2025-10-31 17:32:13.502 |         'Accept: application/json, text/plain, */*\r\n' +
2025-10-31 17:32:13.502 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31 17:32:13.502 |         'authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-apikey: Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn\r\n' +
2025-10-31 17:32:13.502 |         'x-platform-location: eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-zipcode: 68521\r\n' +
2025-10-31 17:32:13.502 |         'x-home-zipcode: 68521\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-home-dma: 722\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-dma: 722\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-content-entitlement: H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=\r\n' +
2025-10-31 17:32:13.502 |         'x-fox-userauth: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:13.502 |         'Accept-Encoding: gzip, compress, deflate, br\r\n' +
2025-10-31 17:32:13.502 |         'Host: api.fox.com\r\n' +
2025-10-31 17:32:13.502 |         'Connection: close\r\n' +
2025-10-31 17:32:13.502 |         '\r\n',
2025-10-31 17:32:13.502 |       _keepAliveTimeout: 0,
2025-10-31 17:32:13.502 |       _onPendingData: [Function: nop],
2025-10-31 17:32:13.502 |       agent: [Agent],
2025-10-31 17:32:13.502 |       socketPath: undefined,
2025-10-31 17:32:13.502 |       method: 'GET',
2025-10-31 17:32:13.502 |       maxHeaderSize: undefined,
2025-10-31 17:32:13.502 |       insecureHTTPParser: undefined,
2025-10-31 17:32:13.502 |       joinDuplicateHeaders: undefined,
2025-10-31 17:32:13.502 |       path: '/dtc/product/config/v1/init',
2025-10-31 17:32:13.502 |       _ended: false,
2025-10-31 17:32:13.502 |       res: null,
2025-10-31 17:32:13.502 |       aborted: false,
2025-10-31 17:32:13.502 |       timeoutCb: null,
2025-10-31 17:32:13.502 |       upgradeOrConnect: false,
2025-10-31 17:32:13.502 |       parser: [HTTPParser],
2025-10-31 17:32:13.502 |       maxHeadersCount: null,
2025-10-31 17:32:13.502 |       reusedSocket: false,
2025-10-31 17:32:13.502 |       host: 'api.fox.com',
2025-10-31 17:32:13.502 |       protocol: 'https:',
2025-10-31 17:32:13.502 |       _redirectable: [Circular *1],
2025-10-31 17:32:13.502 |       [Symbol(kCapture)]: false,
2025-10-31 17:32:13.502 |       [Symbol(kBytesWritten)]: 0,
2025-10-31 17:32:13.502 |       [Symbol(kNeedDrain)]: false,
2025-10-31 17:32:13.502 |       [Symbol(corked)]: 0,
2025-10-31 17:32:13.502 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31 17:32:13.502 |       [Symbol(errored)]: null,
2025-10-31 17:32:13.502 |       [Symbol(kHighWaterMark)]: 16384,
2025-10-31 17:32:13.502 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31 17:32:13.502 |       [Symbol(kUniqueHeaders)]: null
2025-10-31 17:32:13.502 |     },
2025-10-31 17:32:13.502 |     _currentUrl: 'https://api.fox.com/dtc/product/config/v1/init',
2025-10-31 17:32:13.502 |     _timeout: null,
2025-10-31 17:32:13.502 |     [Symbol(kCapture)]: false
2025-10-31 17:32:13.502 |   }
2025-10-31 17:32:13.502 | }
2025-10-31 17:32:18.168 | Error while loading FoxOne events: AxiosError: timeout of 60000ms exceeded
2025-10-31 17:32:18.168 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-10-31 17:32:18.168 |     at RedirectableRequest.emit (node:events:517:28)
2025-10-31 17:32:18.168 |     at RedirectableRequest.emit (node:domain:489:12)
2025-10-31 17:32:18.168 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-10-31 17:32:18.168 |     at listOnTimeout (node:internal/timers:569:17)
2025-10-31 17:32:18.168 |     at processTimers (node:internal/timers:512:7) {
2025-10-31 17:32:18.168 |   code: 'ECONNABORTED',
2025-10-31 17:32:18.168 |   config: {
2025-10-31 17:32:18.168 |     transitional: {
2025-10-31 17:32:18.168 |       silentJSONParsing: true,
2025-10-31 17:32:18.168 |       forcedJSONParsing: true,
2025-10-31 17:32:18.168 |       clarifyTimeoutError: false
2025-10-31 17:32:18.168 |     },
2025-10-31 17:32:18.168 |     adapter: [ 'xhr', 'http' ],
2025-10-31 17:32:18.168 |     transformRequest: [ [Function: transformRequest] ],
2025-10-31 17:32:18.168 |     transformResponse: [ [Function: transformResponse] ],
2025-10-31 17:32:18.168 |     timeout: 60000,
2025-10-31 17:32:18.168 |     xsrfCookieName: 'XSRF-TOKEN',
2025-10-31 17:32:18.168 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31 17:32:18.168 |     maxContentLength: -1,
2025-10-31 17:32:18.168 |     maxBodyLength: -1,
2025-10-31 17:32:18.168 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31 17:32:18.168 |     validateStatus: [Function: validateStatus],
2025-10-31 17:32:18.168 |     headers: AxiosHeaders {
2025-10-31 17:32:18.168 |       Accept: 'application/json, text/plain, */*',
2025-10-31 17:32:18.168 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)',
2025-10-31 17:32:18.168 |       authorization: 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:18.168 |       'x-fox-apikey': 'Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn',
2025-10-31 17:32:18.168 |       'x-platform-location': 'eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=',
2025-10-31 17:32:18.168 |       'x-fox-zipcode': '68521',
2025-10-31 17:32:18.168 |       'x-home-zipcode': '68521',
2025-10-31 17:32:18.168 |       'x-fox-home-dma': '722',
2025-10-31 17:32:18.168 |       'x-fox-dma': '722',
2025-10-31 17:32:18.168 |       'x-fox-content-entitlement': 'H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=',
2025-10-31 17:32:18.168 |       'x-fox-userauth': 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:18.168 |       'Accept-Encoding': 'gzip, compress, deflate, br'
2025-10-31 17:32:18.168 |     },
2025-10-31 17:32:18.168 |     method: 'get',
2025-10-31 17:32:18.168 |     url: 'https://api.fox.com/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.168 |     data: undefined
2025-10-31 17:32:18.168 |   },
2025-10-31 17:32:18.168 |   request: <ref *1> Writable {
2025-10-31 17:32:18.168 |     _writableState: WritableState {
2025-10-31 17:32:18.168 |       objectMode: false,
2025-10-31 17:32:18.168 |       highWaterMark: 16384,
2025-10-31 17:32:18.168 |       finalCalled: false,
2025-10-31 17:32:18.168 |       needDrain: false,
2025-10-31 17:32:18.168 |       ending: false,
2025-10-31 17:32:18.168 |       ended: false,
2025-10-31 17:32:18.168 |       finished: false,
2025-10-31 17:32:18.168 |       destroyed: false,
2025-10-31 17:32:18.168 |       decodeStrings: true,
2025-10-31 17:32:18.168 |       defaultEncoding: 'utf8',
2025-10-31 17:32:18.168 |       length: 0,
2025-10-31 17:32:18.168 |       writing: false,
2025-10-31 17:32:18.168 |       corked: 0,
2025-10-31 17:32:18.168 |       sync: true,
2025-10-31 17:32:18.168 |       bufferProcessing: false,
2025-10-31 17:32:18.168 |       onwrite: [Function: bound onwrite],
2025-10-31 17:32:18.168 |       writecb: null,
2025-10-31 17:32:18.168 |       writelen: 0,
2025-10-31 17:32:18.168 |       afterWriteTickInfo: null,
2025-10-31 17:32:18.168 |       buffered: [],
2025-10-31 17:32:18.168 |       bufferedIndex: 0,
2025-10-31 17:32:18.168 |       allBuffers: true,
2025-10-31 17:32:18.168 |       allNoop: true,
2025-10-31 17:32:18.168 |       pendingcb: 0,
2025-10-31 17:32:18.168 |       constructed: true,
2025-10-31 17:32:18.168 |       prefinished: false,
2025-10-31 17:32:18.168 |       errorEmitted: false,
2025-10-31 17:32:18.168 |       emitClose: true,
2025-10-31 17:32:18.168 |       autoDestroy: true,
2025-10-31 17:32:18.168 |       errored: null,
2025-10-31 17:32:18.168 |       closed: false,
2025-10-31 17:32:18.168 |       closeEmitted: false,
2025-10-31 17:32:18.168 |       [Symbol(kOnFinished)]: []
2025-10-31 17:32:18.168 |     },
2025-10-31 17:32:18.168 |     _events: [Object: null prototype] {
2025-10-31 17:32:18.168 |       response: [Function: handleResponse],
2025-10-31 17:32:18.168 |       error: [Function: handleRequestError],
2025-10-31 17:32:18.168 |       socket: [Array]
2025-10-31 17:32:18.168 |     },
2025-10-31 17:32:18.168 |     _eventsCount: 3,
2025-10-31 17:32:18.168 |     _maxListeners: undefined,
2025-10-31 17:32:18.168 |     _options: {
2025-10-31 17:32:18.168 |       maxRedirects: 21,
2025-10-31 17:32:18.168 |       maxBodyLength: Infinity,
2025-10-31 17:32:18.168 |       protocol: 'https:',
2025-10-31 17:32:18.168 |       path: '/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.168 |       method: 'GET',
2025-10-31 17:32:18.168 |       headers: [Object: null prototype],
2025-10-31 17:32:18.168 |       agents: [Object],
2025-10-31 17:32:18.168 |       auth: undefined,
2025-10-31 17:32:18.168 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31 17:32:18.168 |       beforeRedirects: [Object],
2025-10-31 17:32:18.168 |       hostname: 'api.fox.com',
2025-10-31 17:32:18.168 |       port: '',
2025-10-31 17:32:18.168 |       agent: undefined,
2025-10-31 17:32:18.168 |       nativeProtocols: [Object],
2025-10-31 17:32:18.168 |       pathname: '/dtc/product/page/v1/landing/653897111489',
2025-10-31 17:32:18.168 |       search: '?page=1&size=60'
2025-10-31 17:32:18.168 |     },
2025-10-31 17:32:18.168 |     _ended: true,
2025-10-31 17:32:18.168 |     _ending: true,
2025-10-31 17:32:18.168 |     _redirectCount: 0,
2025-10-31 17:32:18.168 |     _redirects: [],
2025-10-31 17:32:18.168 |     _requestBodyLength: 0,
2025-10-31 17:32:18.168 |     _requestBodyBuffers: [],
2025-10-31 17:32:18.168 |     _onNativeResponse: [Function (anonymous)],
2025-10-31 17:32:18.168 |     _currentRequest: ClientRequest {
2025-10-31 17:32:18.168 |       _events: [Object: null prototype],
2025-10-31 17:32:18.168 |       _eventsCount: 7,
2025-10-31 17:32:18.168 |       _maxListeners: undefined,
2025-10-31 17:32:18.168 |       outputData: [],
2025-10-31 17:32:18.168 |       outputSize: 0,
2025-10-31 17:32:18.168 |       writable: true,
2025-10-31 17:32:18.168 |       destroyed: false,
2025-10-31 17:32:18.168 |       _last: true,
2025-10-31 17:32:18.168 |       chunkedEncoding: false,
2025-10-31 17:32:18.168 |       shouldKeepAlive: false,
2025-10-31 17:32:18.168 |       maxRequestsOnConnectionReached: false,
2025-10-31 17:32:18.168 |       _defaultKeepAlive: true,
2025-10-31 17:32:18.168 |       useChunkedEncodingByDefault: false,
2025-10-31 17:32:18.168 |       sendDate: false,
2025-10-31 17:32:18.168 |       _removedConnection: false,
2025-10-31 17:32:18.168 |       _removedContLen: false,
2025-10-31 17:32:18.168 |       _removedTE: false,
2025-10-31 17:32:18.168 |       strictContentLength: false,
2025-10-31 17:32:18.168 |       _contentLength: 0,
2025-10-31 17:32:18.168 |       _hasBody: true,
2025-10-31 17:32:18.168 |       _trailer: '',
2025-10-31 17:32:18.168 |       finished: true,
2025-10-31 17:32:18.168 |       _headerSent: true,
2025-10-31 17:32:18.168 |       _closed: false,
2025-10-31 17:32:18.168 |       socket: [TLSSocket],
2025-10-31 17:32:18.168 |       _header: 'GET /dtc/product/page/v1/landing/653897111489?page=1&size=60 HTTP/1.1\r\n' +
2025-10-31 17:32:18.168 |         'Accept: application/json, text/plain, */*\r\n' +
2025-10-31 17:32:18.168 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31 17:32:18.168 |         'authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-apikey: Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn\r\n' +
2025-10-31 17:32:18.168 |         'x-platform-location: eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-zipcode: 68521\r\n' +
2025-10-31 17:32:18.168 |         'x-home-zipcode: 68521\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-home-dma: 722\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-dma: 722\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-content-entitlement: H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=\r\n' +
2025-10-31 17:32:18.168 |         'x-fox-userauth: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:18.168 |         'Accept-Encoding: gzip, compress, deflate, br\r\n' +
2025-10-31 17:32:18.168 |         'Host: api.fox.com\r\n' +
2025-10-31 17:32:18.168 |         'Connection: close\r\n' +
2025-10-31 17:32:18.168 |         '\r\n',
2025-10-31 17:32:18.168 |       _keepAliveTimeout: 0,
2025-10-31 17:32:18.168 |       _onPendingData: [Function: nop],
2025-10-31 17:32:18.168 |       agent: [Agent],
2025-10-31 17:32:18.168 |       socketPath: undefined,
2025-10-31 17:32:18.168 |       method: 'GET',
2025-10-31 17:32:18.169 |       maxHeaderSize: undefined,
2025-10-31 17:32:18.169 |       insecureHTTPParser: undefined,
2025-10-31 17:32:18.169 |       joinDuplicateHeaders: undefined,
2025-10-31 17:32:18.169 |       path: '/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.169 |       _ended: false,
2025-10-31 17:32:18.169 |       res: null,
2025-10-31 17:32:18.169 |       aborted: false,
2025-10-31 17:32:18.169 |       timeoutCb: null,
2025-10-31 17:32:18.169 |       upgradeOrConnect: false,
2025-10-31 17:32:18.169 |       parser: [HTTPParser],
2025-10-31 17:32:18.169 |       maxHeadersCount: null,
2025-10-31 17:32:18.169 |       reusedSocket: false,
2025-10-31 17:32:18.169 |       host: 'api.fox.com',
2025-10-31 17:32:18.169 |       protocol: 'https:',
2025-10-31 17:32:18.169 |       _redirectable: [Circular *1],
2025-10-31 17:32:18.169 |       [Symbol(kCapture)]: false,
2025-10-31 17:32:18.169 |       [Symbol(kBytesWritten)]: 0,
2025-10-31 17:32:18.169 |       [Symbol(kNeedDrain)]: false,
2025-10-31 17:32:18.169 |       [Symbol(corked)]: 0,
2025-10-31 17:32:18.169 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31 17:32:18.169 |       [Symbol(errored)]: null,
2025-10-31 17:32:18.169 |       [Symbol(kHighWaterMark)]: 16384,
2025-10-31 17:32:18.169 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31 17:32:18.169 |       [Symbol(kUniqueHeaders)]: null
2025-10-31 17:32:18.169 |     },
2025-10-31 17:32:18.169 |     _currentUrl: 'https://api.fox.com/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.169 |     _timeout: null,
2025-10-31 17:32:18.169 |     [Symbol(kCapture)]: false
2025-10-31 17:32:18.169 |   }
2025-10-31 17:32:18.169 | }

Working here, but I did the EPlusTV Rebuild EPG after updating to 4.14.2 before using it.
Also have some recordings setup to test it.

It is getting connection timeouts for basic api calls. Try toggling foxone off and on and log back in. That might help. I just checked after updating and it is working fine for me here.

The change that was just implemented has nothing to do with those errors. if you put https://api.fox.com/dtc/product/config/v1/init does it come back at all?

Since you are not logged in via browser the expected response from that should be:
{"status":false,"error":{"err_code":"ERR_PKG_001","err_str":"empty api key header","err_msg":"Unauthorised"}}

So far the first recording was interrupted.

Channels DVR log

2025/10/31 16:53:28.715016 [DVR] Error running job 1761951570-123 The Masked Singer: Could not fetch playlist from 192.168.1.4:8185: GET: http://192.168.1.4:8185/chunklist/219/S7CFVFkY.m3u8: 404 Not Found
EPLusTV container log
2025-10-31T22:59:30.014983598Z Channel #219 has an active event (Masks at Dawn -- Round 1). Going to start the stream.
2025-10-31T23:00:00.008771059Z Channel #210 has an active event (2025 World Series Pregame). Going to start the stream.
2025-10-31T23:11:56.326409922Z Updating FOX One prelim token
2025-10-31T23:11:56.720324648Z Refreshing TV Provider token (FOX One)
2025-10-31T23:41:56.331931264Z Updating FOX One prelim token
2025-10-31T23:41:56.718557719Z Refreshing TV Provider token (FOX One)
2025-10-31T23:53:23.706344471Z AxiosError: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-10-31T23:53:23.726067580Z     at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
2025-10-31T23:53:23.706440382Z Could not parse chunklist properly!
2025-10-31T23:53:23.726445185Z Could not get chunklist for channel #219.
2025-10-31T23:53:23.726340040Z     at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
2025-10-31T23:53:23.726658846Z     at RedirectableRequest.emit (node:events:529:35)
2025-10-31T23:53:23.726710839Z     at RedirectableRequest.emit (node:domain:489:12)
2025-10-31T23:53:23.726756118Z     at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
2025-10-31T23:53:23.726812160Z     at ClientRequest.emit (node:events:517:28)
2025-10-31T23:53:23.726863567Z     at ClientRequest.emit (node:domain:489:12)
2025-10-31T23:53:23.726905327Z     at TLSSocket.socketErrorListener (node:_http_client:501:9)
2025-10-31T23:53:23.726951535Z     at TLSSocket.emit (node:events:517:28)
2025-10-31T23:53:23.726993560Z     at TLSSocket.emit (node:domain:489:12) {
2025-10-31T23:53:23.727042543Z   hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.727087033Z   syscall: 'getaddrinfo',
2025-10-31T23:53:23.727127648Z   code: 'ENOTFOUND',
2025-10-31T23:53:23.727168727Z   errno: -3007,
2025-10-31T23:53:23.727208761Z   config: {
2025-10-31T23:53:23.727247279Z     transitional: {
2025-10-31T23:53:23.727286777Z       silentJSONParsing: true,
2025-10-31T23:53:23.727338932Z       forcedJSONParsing: true,
2025-10-31T23:53:23.727379892Z       clarifyTimeoutError: false
2025-10-31T23:53:23.727422832Z     },
2025-10-31T23:53:23.727459166Z     adapter: [ 'xhr', 'http' ],
2025-10-31T23:53:23.727499670Z     transformRequest: [ [Function: transformRequest] ],
2025-10-31T23:53:23.727542808Z     transformResponse: [ [Function: transformResponse] ],
2025-10-31T23:53:23.727589905Z     timeout: 60000,
2025-10-31T23:53:23.727647493Z     xsrfCookieName: 'XSRF-TOKEN',
2025-10-31T23:53:23.727691286Z     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31T23:53:23.727733971Z     maxContentLength: -1,
2025-10-31T23:53:23.727774620Z     maxBodyLength: -1,
2025-10-31T23:53:23.727821872Z     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31T23:53:23.727869657Z     validateStatus: [Function: validateStatus],
2025-10-31T23:53:23.727912868Z     headers: AxiosHeaders {
2025-10-31T23:53:23.727957163Z       Accept: 'application/json, text/plain, */*',
2025-10-31T23:53:23.728002572Z       'Accept-Encoding': 'identity',
2025-10-31T23:53:23.728045584Z       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-10-31T23:53:23.728196358Z     },
2025-10-31T23:53:23.728243680Z     method: 'get',
2025-10-31T23:53:23.728284371Z     url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.728343039Z     data: undefined
2025-10-31T23:53:23.728384441Z   },
2025-10-31T23:53:23.728420963Z   request: <ref *1> Writable {
2025-10-31T23:53:23.728483212Z     _writableState: WritableState {
2025-10-31T23:53:23.728531645Z       objectMode: false,
2025-10-31T23:53:23.728575203Z       highWaterMark: 16384,
2025-10-31T23:53:23.728615977Z       finalCalled: false,
2025-10-31T23:53:23.728674363Z       needDrain: false,
2025-10-31T23:53:23.728714245Z       ending: false,
2025-10-31T23:53:23.728756131Z       ended: false,
2025-10-31T23:53:23.728795388Z       finished: false,
2025-10-31T23:53:23.728841589Z       destroyed: false,
2025-10-31T23:53:23.728882118Z       decodeStrings: true,
2025-10-31T23:53:23.728923259Z       defaultEncoding: 'utf8',
2025-10-31T23:53:23.728963277Z       length: 0,
2025-10-31T23:53:23.729004706Z       writing: false,
2025-10-31T23:53:23.729049032Z       corked: 0,
2025-10-31T23:53:23.729089370Z       sync: true,
2025-10-31T23:53:23.729132229Z       bufferProcessing: false,
2025-10-31T23:53:23.729172688Z       onwrite: [Function: bound onwrite],
2025-10-31T23:53:23.729217659Z       writecb: null,
2025-10-31T23:53:23.729258444Z       writelen: 0,
2025-10-31T23:53:23.729297138Z       afterWriteTickInfo: null,
2025-10-31T23:53:23.729336446Z       buffered: [],
2025-10-31T23:53:23.729375035Z       bufferedIndex: 0,
2025-10-31T23:53:23.729415162Z       allBuffers: true,
2025-10-31T23:53:23.729454832Z       allNoop: true,
2025-10-31T23:53:23.729494583Z       pendingcb: 0,
2025-10-31T23:53:23.729533256Z       constructed: true,
2025-10-31T23:53:23.729573124Z       prefinished: false,
2025-10-31T23:53:23.729614254Z       errorEmitted: false,
2025-10-31T23:53:23.729669633Z       emitClose: true,
2025-10-31T23:53:23.729709347Z       autoDestroy: true,
2025-10-31T23:53:23.729753865Z       errored: null,
2025-10-31T23:53:23.729793641Z       closed: false,
2025-10-31T23:53:23.729834398Z       closeEmitted: false,
2025-10-31T23:53:23.729874652Z       [Symbol(kOnFinished)]: []
2025-10-31T23:53:23.729914919Z     },
2025-10-31T23:53:23.729951329Z     _events: [Object: null prototype] {
2025-10-31T23:53:23.729994471Z       response: [Function: handleResponse],
2025-10-31T23:53:23.730036769Z       error: [Function: handleRequestError],
2025-10-31T23:53:23.730077474Z       socket: [Array]
2025-10-31T23:53:23.730117848Z     },
2025-10-31T23:53:23.730158183Z     _eventsCount: 3,
2025-10-31T23:53:23.730197665Z     _maxListeners: undefined,
2025-10-31T23:53:23.730242685Z     _options: {
2025-10-31T23:53:23.730281155Z       maxRedirects: 21,
2025-10-31T23:53:23.730320395Z       maxBodyLength: Infinity,
2025-10-31T23:53:23.730361774Z       protocol: 'https:',
2025-10-31T23:53:23.730406886Z       path: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.730463165Z       method: 'GET',
2025-10-31T23:53:23.730502450Z       headers: [Object: null prototype],
2025-10-31T23:53:23.730544861Z       agents: [Object],
2025-10-31T23:53:23.730584508Z       auth: undefined,
2025-10-31T23:53:23.730642827Z       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31T23:53:23.730686832Z       beforeRedirects: [Object],
2025-10-31T23:53:23.730725723Z       hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.730769858Z       port: '',
2025-10-31T23:53:23.730810713Z       agent: undefined,
2025-10-31T23:53:23.730850050Z       nativeProtocols: [Object],
2025-10-31T23:53:23.730890973Z       pathname: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8'
2025-10-31T23:53:23.730944693Z     },
2025-10-31T23:53:23.730982456Z     _ended: true,
2025-10-31T23:53:23.731022995Z     _ending: true,
2025-10-31T23:53:23.731063034Z     _redirectCount: 0,
2025-10-31T23:53:23.731103336Z     _redirects: [],
2025-10-31T23:53:23.731165231Z     _requestBodyLength: 0,
2025-10-31T23:53:23.731205658Z     _requestBodyBuffers: [],
2025-10-31T23:53:23.731250616Z     _onNativeResponse: [Function (anonymous)],
2025-10-31T23:53:23.731299649Z     _currentRequest: ClientRequest {
2025-10-31T23:53:23.731345970Z       _events: [Object: null prototype],
2025-10-31T23:53:23.731392917Z       _eventsCount: 7,
2025-10-31T23:53:23.731437397Z       _maxListeners: undefined,
2025-10-31T23:53:23.731477565Z       outputData: [],
2025-10-31T23:53:23.731521377Z       outputSize: 0,
2025-10-31T23:53:23.731561246Z       writable: true,
2025-10-31T23:53:23.731610793Z       destroyed: false,
2025-10-31T23:53:23.731671873Z       _last: true,
2025-10-31T23:53:23.731721903Z       chunkedEncoding: false,
2025-10-31T23:53:23.731762437Z       shouldKeepAlive: false,
2025-10-31T23:53:23.731807256Z       maxRequestsOnConnectionReached: false,
2025-10-31T23:53:23.731847386Z       _defaultKeepAlive: true,
2025-10-31T23:53:23.731899529Z       useChunkedEncodingByDefault: false,
2025-10-31T23:53:23.732229496Z       sendDate: false,
2025-10-31T23:53:23.732302994Z       _removedConnection: false,
2025-10-31T23:53:23.732353589Z       _removedContLen: false,
2025-10-31T23:53:23.732393438Z       _removedTE: false,
2025-10-31T23:53:23.732433064Z       strictContentLength: false,
2025-10-31T23:53:23.732476208Z       _contentLength: 0,
2025-10-31T23:53:23.732514912Z       _hasBody: true,
2025-10-31T23:53:23.732555210Z       _trailer: '',
2025-10-31T23:53:23.732593053Z       finished: true,
2025-10-31T23:53:23.732662702Z       _headerSent: true,
2025-10-31T23:53:23.732704487Z       _closed: false,
2025-10-31T23:53:23.732743852Z       socket: [TLSSocket],
2025-10-31T23:53:23.732783299Z       _header: 'GET /1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8 HTTP/1.1\r\n' +
2025-10-31T23:53:23.732838888Z         'Accept: application/json, text/plain, */*\r\n' +
2025-10-31T23:53:23.732893391Z         'Accept-Encoding: identity\r\n' +
2025-10-31T23:53:23.732936817Z         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31T23:53:23.733002076Z         'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-10-31T23:53:23.733049750Z         'Connection: close\r\n' +
2025-10-31T23:53:23.733090440Z         '\r\n',
2025-10-31T23:53:23.733128281Z       _keepAliveTimeout: 0,
2025-10-31T23:53:23.733166590Z       _onPendingData: [Function: nop],
2025-10-31T23:53:23.733207258Z       agent: [Agent],
2025-10-31T23:53:23.733247891Z       socketPath: undefined,
2025-10-31T23:53:23.733288231Z       method: 'GET',
2025-10-31T23:53:23.733326565Z       maxHeaderSize: undefined,
2025-10-31T23:53:23.733369159Z       insecureHTTPParser: undefined,
2025-10-31T23:53:23.733409663Z       joinDuplicateHeaders: undefined,
2025-10-31T23:53:23.733453168Z       path: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.733496437Z       _ended: false,
2025-10-31T23:53:23.733535324Z       res: null,
2025-10-31T23:53:23.733574775Z       aborted: false,
2025-10-31T23:53:23.733614192Z       timeoutCb: null,
2025-10-31T23:53:23.733673272Z       upgradeOrConnect: false,
2025-10-31T23:53:23.733713013Z       parser: null,
2025-10-31T23:53:23.733751869Z       maxHeadersCount: null,
2025-10-31T23:53:23.733791476Z       reusedSocket: false,
2025-10-31T23:53:23.733832403Z       host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.733873098Z       protocol: 'https:',
2025-10-31T23:53:23.733911344Z       _redirectable: [Circular *1],
2025-10-31T23:53:23.733951673Z       [Symbol(kCapture)]: false,
2025-10-31T23:53:23.733992157Z       [Symbol(kBytesWritten)]: 0,
2025-10-31T23:53:23.734033923Z       [Symbol(kNeedDrain)]: false,
2025-10-31T23:53:23.734074701Z       [Symbol(corked)]: 0,
2025-10-31T23:53:23.734113699Z       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31T23:53:23.734155143Z       [Symbol(errored)]: null,
2025-10-31T23:53:23.734194758Z       [Symbol(kHighWaterMark)]: 16384,
2025-10-31T23:53:23.734234287Z       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31T23:53:23.734275369Z       [Symbol(kUniqueHeaders)]: null
2025-10-31T23:53:23.734315215Z     },
2025-10-31T23:53:23.734351041Z     _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.734399128Z     _timeout: null,
2025-10-31T23:53:23.734440233Z     [Symbol(kCapture)]: false
2025-10-31T23:53:23.734479244Z   },
2025-10-31T23:53:23.734520831Z   cause: Error: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-10-31T23:53:23.734566088Z       at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
2025-10-31T23:53:23.734626376Z     errno: -3007,
2025-10-31T23:53:23.734666050Z     code: 'ENOTFOUND',
2025-10-31T23:53:23.734705276Z     syscall: 'getaddrinfo',
2025-10-31T23:53:23.734743711Z     hostname: 'fa.edge.foxdtc.digitalvideoplatform.com'
2025-10-31T23:53:23.734784439Z   }
2025-10-31T23:53:23.734819950Z }
2025-10-31T23:53:29.824322569Z Channel #219 has an active event (The Double Unmasking -- Round 1 Finals). Going to start the stream.

World Series recording was just interrupted now too.

2025/10/31 17:53:45.680458 [DVR] Error running job 1761955200-ch43 2025 World Series: Could not fetch playlist from 192.168.1.4:8185: GET: http://192.168.1.4:8185/chunklist/210/8nK4XubR.m3u8: 404 Not Found
EPLusTV container log
2025-11-01T00:53:40.417924217Z AxiosError: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-11-01T00:53:40.418434509Z     at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
2025-11-01T00:53:40.418540775Z     at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
2025-11-01T00:53:40.418593066Z     at RedirectableRequest.emit (node:events:529:35)
2025-11-01T00:53:40.418679163Z     at RedirectableRequest.emit (node:domain:489:12)
2025-11-01T00:53:40.418799569Z     at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
2025-11-01T00:53:40.417957699Z Could not parse chunklist properly!
2025-11-01T00:53:40.418980509Z Could not get chunklist for channel #210.
2025-11-01T00:53:40.418865760Z     at ClientRequest.emit (node:events:517:28)
2025-11-01T00:53:40.419076731Z     at ClientRequest.emit (node:domain:489:12)
2025-11-01T00:53:40.419118610Z     at TLSSocket.socketErrorListener (node:_http_client:501:9)
2025-11-01T00:53:40.419164266Z     at TLSSocket.emit (node:events:517:28)
2025-11-01T00:53:40.419205748Z     at TLSSocket.emit (node:domain:489:12) {
2025-11-01T00:53:40.419246502Z   hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.419295630Z   syscall: 'getaddrinfo',
2025-11-01T00:53:40.419336892Z   code: 'ENOTFOUND',
2025-11-01T00:53:40.419380375Z   errno: -3007,
2025-11-01T00:53:40.419420293Z   config: {
2025-11-01T00:53:40.419465913Z     transitional: {
2025-11-01T00:53:40.419507727Z       silentJSONParsing: true,
2025-11-01T00:53:40.419559524Z       forcedJSONParsing: true,
2025-11-01T00:53:40.419600983Z       clarifyTimeoutError: false
2025-11-01T00:53:40.419654722Z     },
2025-11-01T00:53:40.419691576Z     adapter: [ 'xhr', 'http' ],
2025-11-01T00:53:40.419731379Z     transformRequest: [ [Function: transformRequest] ],
2025-11-01T00:53:40.419773202Z     transformResponse: [ [Function: transformResponse] ],
2025-11-01T00:53:40.419814970Z     timeout: 60000,
2025-11-01T00:53:40.419854721Z     xsrfCookieName: 'XSRF-TOKEN',
2025-11-01T00:53:40.419895858Z     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01T00:53:40.419936647Z     maxContentLength: -1,
2025-11-01T00:53:40.419976219Z     maxBodyLength: -1,
2025-11-01T00:53:40.420016197Z     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01T00:53:40.420061603Z     validateStatus: [Function: validateStatus],
2025-11-01T00:53:40.420102619Z     headers: AxiosHeaders {
2025-11-01T00:53:40.420142816Z       Accept: 'application/json, text/plain, */*',
2025-11-01T00:53:40.420186218Z       'Accept-Encoding': 'identity',
2025-11-01T00:53:40.420231076Z       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01T00:53:40.420294139Z     },
2025-11-01T00:53:40.420332295Z     method: 'get',
2025-11-01T00:53:40.420372632Z     url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.420429166Z     data: undefined
2025-11-01T00:53:40.420535657Z   },
2025-11-01T00:53:40.420576941Z   request: <ref *1> Writable {
2025-11-01T00:53:40.420664791Z     _writableState: WritableState {
2025-11-01T00:53:40.420711476Z       objectMode: false,
2025-11-01T00:53:40.420751978Z       highWaterMark: 16384,
2025-11-01T00:53:40.420791598Z       finalCalled: false,
2025-11-01T00:53:40.420832388Z       needDrain: false,
2025-11-01T00:53:40.420880000Z       ending: false,
2025-11-01T00:53:40.420920798Z       ended: false,
2025-11-01T00:53:40.420973564Z       finished: false,
2025-11-01T00:53:40.421015609Z       destroyed: false,
2025-11-01T00:53:40.421056883Z       decodeStrings: true,
2025-11-01T00:53:40.421098582Z       defaultEncoding: 'utf8',
2025-11-01T00:53:40.421139280Z       length: 0,
2025-11-01T00:53:40.421178908Z       writing: false,
2025-11-01T00:53:40.421218989Z       corked: 0,
2025-11-01T00:53:40.421261161Z       sync: true,
2025-11-01T00:53:40.421300640Z       bufferProcessing: false,
2025-11-01T00:53:40.421340789Z       onwrite: [Function: bound onwrite],
2025-11-01T00:53:40.421382644Z       writecb: null,
2025-11-01T00:53:40.421421405Z       writelen: 0,
2025-11-01T00:53:40.421462533Z       afterWriteTickInfo: null,
2025-11-01T00:53:40.421502119Z       buffered: [],
2025-11-01T00:53:40.421541129Z       bufferedIndex: 0,
2025-11-01T00:53:40.421585297Z       allBuffers: true,
2025-11-01T00:53:40.421656065Z       allNoop: true,
2025-11-01T00:53:40.421698401Z       pendingcb: 0,
2025-11-01T00:53:40.421739609Z       constructed: true,
2025-11-01T00:53:40.421779002Z       prefinished: false,
2025-11-01T00:53:40.421817928Z       errorEmitted: false,
2025-11-01T00:53:40.421860129Z       emitClose: true,
2025-11-01T00:53:40.421899098Z       autoDestroy: true,
2025-11-01T00:53:40.421937884Z       errored: null,
2025-11-01T00:53:40.421976636Z       closed: false,
2025-11-01T00:53:40.422015639Z       closeEmitted: false,
2025-11-01T00:53:40.422054537Z       [Symbol(kOnFinished)]: []
2025-11-01T00:53:40.422095476Z     },
2025-11-01T00:53:40.422131401Z     _events: [Object: null prototype] {
2025-11-01T00:53:40.422174417Z       response: [Function: handleResponse],
2025-11-01T00:53:40.422215276Z       error: [Function: handleRequestError],
2025-11-01T00:53:40.422257909Z       socket: [Array]
2025-11-01T00:53:40.422303674Z     },
2025-11-01T00:53:40.422339540Z     _eventsCount: 3,
2025-11-01T00:53:40.422378816Z     _maxListeners: undefined,
2025-11-01T00:53:40.422418559Z     _options: {
2025-11-01T00:53:40.422455981Z       maxRedirects: 21,
2025-11-01T00:53:40.422495350Z       maxBodyLength: Infinity,
2025-11-01T00:53:40.422535278Z       protocol: 'https:',
2025-11-01T00:53:40.422575116Z       path: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.422633505Z       method: 'GET',
2025-11-01T00:53:40.422673164Z       headers: [Object: null prototype],
2025-11-01T00:53:40.422712924Z       agents: [Object],
2025-11-01T00:53:40.422751242Z       auth: undefined,
2025-11-01T00:53:40.422791946Z       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01T00:53:40.422833842Z       beforeRedirects: [Object],
2025-11-01T00:53:40.422879647Z       hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.422923495Z       port: '',
2025-11-01T00:53:40.422962480Z       agent: undefined,
2025-11-01T00:53:40.423000905Z       nativeProtocols: [Object],
2025-11-01T00:53:40.423040995Z       pathname: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8',
2025-11-01T00:53:40.423085539Z       search: '?zipcode=95630'
2025-11-01T00:53:40.423125266Z     },
2025-11-01T00:53:40.423160782Z     _ended: true,
2025-11-01T00:53:40.423199518Z     _ending: true,
2025-11-01T00:53:40.423238736Z     _redirectCount: 0,
2025-11-01T00:53:40.423277135Z     _redirects: [],
2025-11-01T00:53:40.423314613Z     _requestBodyLength: 0,
2025-11-01T00:53:40.423354332Z     _requestBodyBuffers: [],
2025-11-01T00:53:40.423393671Z     _onNativeResponse: [Function (anonymous)],
2025-11-01T00:53:40.423437928Z     _currentRequest: ClientRequest {
2025-11-01T00:53:40.423478594Z       _events: [Object: null prototype],
2025-11-01T00:53:40.423519779Z       _eventsCount: 7,
2025-11-01T00:53:40.423559159Z       _maxListeners: undefined,
2025-11-01T00:53:40.423602483Z       outputData: [],
2025-11-01T00:53:40.423648492Z       outputSize: 0,
2025-11-01T00:53:40.423687370Z       writable: true,
2025-11-01T00:53:40.423726151Z       destroyed: false,
2025-11-01T00:53:40.423764938Z       _last: true,
2025-11-01T00:53:40.423805141Z       chunkedEncoding: false,
2025-11-01T00:53:40.423845111Z       shouldKeepAlive: false,
2025-11-01T00:53:40.423886815Z       maxRequestsOnConnectionReached: false,
2025-11-01T00:53:40.423926983Z       _defaultKeepAlive: true,
2025-11-01T00:53:40.423966030Z       useChunkedEncodingByDefault: false,
2025-11-01T00:53:40.424005602Z       sendDate: false,
2025-11-01T00:53:40.424047092Z       _removedConnection: false,
2025-11-01T00:53:40.424086541Z       _removedContLen: false,
2025-11-01T00:53:40.424128238Z       _removedTE: false,
2025-11-01T00:53:40.424167090Z       strictContentLength: false,
2025-11-01T00:53:40.424206960Z       _contentLength: 0,
2025-11-01T00:53:40.424247341Z       _hasBody: true,
2025-11-01T00:53:40.424286779Z       _trailer: '',
2025-11-01T00:53:40.424324855Z       finished: true,
2025-11-01T00:53:40.424362694Z       _headerSent: true,
2025-11-01T00:53:40.424401407Z       _closed: false,
2025-11-01T00:53:40.424440494Z       socket: [TLSSocket],
2025-11-01T00:53:40.424478644Z       _header: 'GET /1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630 HTTP/1.1\r\n' +
2025-11-01T00:53:40.424528544Z         'Accept: application/json, text/plain, */*\r\n' +
2025-11-01T00:53:40.424570875Z         'Accept-Encoding: identity\r\n' +
2025-11-01T00:53:40.424611737Z         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01T00:53:40.424674886Z         'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-01T00:53:40.424718897Z         'Connection: close\r\n' +
2025-11-01T00:53:40.424759792Z         '\r\n',
2025-11-01T00:53:40.424796912Z       _keepAliveTimeout: 0,
2025-11-01T00:53:40.424835062Z       _onPendingData: [Function: nop],
2025-11-01T00:53:40.424879312Z       agent: [Agent],
2025-11-01T00:53:40.424924482Z       socketPath: undefined,
2025-11-01T00:53:40.424964912Z       method: 'GET',
2025-11-01T00:53:40.425003999Z       maxHeaderSize: undefined,
2025-11-01T00:53:40.425044182Z       insecureHTTPParser: undefined,
2025-11-01T00:53:40.425084061Z       joinDuplicateHeaders: undefined,
2025-11-01T00:53:40.425126435Z       path: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.425171452Z       _ended: false,
2025-11-01T00:53:40.425211275Z       res: null,
2025-11-01T00:53:40.425250426Z       aborted: false,
2025-11-01T00:53:40.425289441Z       timeoutCb: null,
2025-11-01T00:53:40.425328066Z       upgradeOrConnect: false,
2025-11-01T00:53:40.425369935Z       parser: null,
2025-11-01T00:53:40.425408314Z       maxHeadersCount: null,
2025-11-01T00:53:40.425446996Z       reusedSocket: false,
2025-11-01T00:53:40.425485942Z       host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.425526704Z       protocol: 'https:',
2025-11-01T00:53:40.425564523Z       _redirectable: [Circular *1],
2025-11-01T00:53:40.425603940Z       [Symbol(kCapture)]: false,
2025-11-01T00:53:40.425655428Z       [Symbol(kBytesWritten)]: 0,
2025-11-01T00:53:40.425694988Z       [Symbol(kNeedDrain)]: false,
2025-11-01T00:53:40.425738418Z       [Symbol(corked)]: 0,
2025-11-01T00:53:40.425777672Z       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01T00:53:40.425821329Z       [Symbol(errored)]: null,
2025-11-01T00:53:40.425860320Z       [Symbol(kHighWaterMark)]: 16384,
2025-11-01T00:53:40.425900731Z       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01T00:53:40.425941831Z       [Symbol(kUniqueHeaders)]: null
2025-11-01T00:53:40.425983531Z     },
2025-11-01T00:53:40.426022448Z     _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.426072264Z     _timeout: null,
2025-11-01T00:53:40.426111418Z     [Symbol(kCapture)]: false
2025-11-01T00:53:40.426150247Z   },
2025-11-01T00:53:40.426186121Z   cause: Error: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-11-01T00:53:40.426235526Z       at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
2025-11-01T00:53:40.426309828Z     errno: -3007,
2025-11-01T00:53:40.426353051Z     code: 'ENOTFOUND',
2025-11-01T00:53:40.426393758Z     syscall: 'getaddrinfo',
2025-11-01T00:53:40.426432760Z     hostname: 'fa.edge.foxdtc.digitalvideoplatform.com'
2025-11-01T00:53:40.426473397Z   }
2025-11-01T00:53:40.426509341Z }
2025-11-01T00:53:46.762744081Z Channel #210 has an active event (2025 World Series: Game 6 - Dodgers at Blue Jays). Going to start the stream.

Taking a break now so I can actually watch some things.

That’s odd. When you get a chance later can you look through the container logs for the related errors and post here?

That was it for today (2 of 6 interrupted).

I'm thinking my pinchflat container (which has been crashing a lot) running on the same device may be a resource hog, so just stopped it for now.
Will see how recordings go tomorrow with that container stopped :crossed_fingers:

Yeah...pinchflat uses wayy too much resources to my taste so thats why I use ytdl-sub instead. You may need to set a memory limit for pinchflat

Sorry got busy with Halloween activities.

Did all you suggested.

I did get get this as you predicted: {"status":false,"error":{"err_code":"ERR_PKG_001","err_str":"empty api key header","err_msg":"Unauthorised"}}

Been testing some Fox News Channel today and it seems to be dying out again like yesterday...

2025-11-01 13:02:26.768 | === Done building the schedule ===
2025-11-01 13:03:01.534 | Channel #1 has an active event (LiveNOW from FOX). Going to start the stream.
2025-11-01 13:03:10.205 | Channel #2 has an active event (College Football - West Virginia at Houston). Going to start the stream.
2025-11-01 13:03:15.274 | Channel #3 has an active event (College Football - Penn State at Ohio State). Going to start the stream.
2025-11-01 13:03:16.119 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:20.450 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:21.718 | Channel #4 has an active event (Horse Racing - America's Day At the Races). Going to start the stream.
2025-11-01 13:03:22.433 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:25.325 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:07:45.617 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:07:45.620 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:07:45.620 |     at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:07:45.620 |     at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:07:45.620 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:07:45.620 |     at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:07:45.620 |     at processTimers (node:internal/timers:512:7) {
2025-11-01 13:07:45.620 |   code: 'ECONNABORTED',
2025-11-01 13:07:45.620 |   config: {
2025-11-01 13:07:45.620 |     transitional: {
2025-11-01 13:07:45.620 |       silentJSONParsing: true,
2025-11-01 13:07:45.620 |       forcedJSONParsing: true,
2025-11-01 13:07:45.620 |       clarifyTimeoutError: false
2025-11-01 13:07:45.620 |     },
2025-11-01 13:07:45.620 |     adapter: [ 'xhr', 'http' ],
2025-11-01 13:07:45.620 |     transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:07:45.620 |     transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:07:45.620 |     timeout: 60000,
2025-11-01 13:07:45.620 |     xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:07:45.620 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:07:45.620 |     maxContentLength: -1,
2025-11-01 13:07:45.620 |     maxBodyLength: -1,
2025-11-01 13:07:45.620 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:07:45.620 |     validateStatus: [Function: validateStatus],
2025-11-01 13:07:45.620 |     headers: AxiosHeaders {
2025-11-01 13:07:45.620 |       Accept: 'application/json, text/plain, */*',
2025-11-01 13:07:45.620 |       'Accept-Encoding': 'identity',
2025-11-01 13:07:45.620 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:07:45.620 |     },
2025-11-01 13:07:45.620 |     method: 'get',
2025-11-01 13:07:45.620 |     url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.620 |     data: undefined
2025-11-01 13:07:45.620 |   },
2025-11-01 13:07:45.620 |   request: <ref *1> Writable {
2025-11-01 13:07:45.620 |     _writableState: WritableState {
2025-11-01 13:07:45.620 |       objectMode: false,
2025-11-01 13:07:45.620 |       highWaterMark: 16384,
2025-11-01 13:07:45.620 |       finalCalled: false,
2025-11-01 13:07:45.620 |       needDrain: false,
2025-11-01 13:07:45.620 |       ending: false,
2025-11-01 13:07:45.620 |       ended: false,
2025-11-01 13:07:45.620 |       finished: false,
2025-11-01 13:07:45.620 |       destroyed: false,
2025-11-01 13:07:45.620 |       decodeStrings: true,
2025-11-01 13:07:45.620 |       defaultEncoding: 'utf8',
2025-11-01 13:07:45.620 |       length: 0,
2025-11-01 13:07:45.620 |       writing: false,
2025-11-01 13:07:45.620 |       corked: 0,
2025-11-01 13:07:45.620 |       sync: true,
2025-11-01 13:07:45.620 |       bufferProcessing: false,
2025-11-01 13:07:45.620 |       onwrite: [Function: bound onwrite],
2025-11-01 13:07:45.620 |       writecb: null,
2025-11-01 13:07:45.620 |       writelen: 0,
2025-11-01 13:07:45.620 |       afterWriteTickInfo: null,
2025-11-01 13:07:45.620 |       buffered: [],
2025-11-01 13:07:45.620 |       bufferedIndex: 0,
2025-11-01 13:07:45.620 |       allBuffers: true,
2025-11-01 13:07:45.620 |       allNoop: true,
2025-11-01 13:07:45.620 |       pendingcb: 0,
2025-11-01 13:07:45.620 |       constructed: true,
2025-11-01 13:07:45.620 |       prefinished: false,
2025-11-01 13:07:45.620 |       errorEmitted: false,
2025-11-01 13:07:45.620 |       emitClose: true,
2025-11-01 13:07:45.620 |       autoDestroy: true,
2025-11-01 13:07:45.620 |       errored: null,
2025-11-01 13:07:45.620 |       closed: false,
2025-11-01 13:07:45.620 |       closeEmitted: false,
2025-11-01 13:07:45.620 |       [Symbol(kOnFinished)]: []
2025-11-01 13:07:45.620 |     },
2025-11-01 13:07:45.620 |     _events: [Object: null prototype] {
2025-11-01 13:07:45.620 |       response: [Function: handleResponse],
2025-11-01 13:07:45.620 |       error: [Function: handleRequestError],
2025-11-01 13:07:45.620 |       socket: [Array]
2025-11-01 13:07:45.620 |     },
2025-11-01 13:07:45.620 |     _eventsCount: 3,
2025-11-01 13:07:45.620 |     _maxListeners: undefined,
2025-11-01 13:07:45.620 |     _options: {
2025-11-01 13:07:45.620 |       maxRedirects: 21,
2025-11-01 13:07:45.620 |       maxBodyLength: Infinity,
2025-11-01 13:07:45.620 |       protocol: 'https:',
2025-11-01 13:07:45.620 |       path: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.620 |       method: 'GET',
2025-11-01 13:07:45.620 |       headers: [Object: null prototype],
2025-11-01 13:07:45.620 |       agents: [Object],
2025-11-01 13:07:45.620 |       auth: undefined,
2025-11-01 13:07:45.620 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:07:45.620 |       beforeRedirects: [Object],
2025-11-01 13:07:45.620 |       hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01 13:07:45.620 |       port: '',
2025-11-01 13:07:45.620 |       agent: undefined,
2025-11-01 13:07:45.620 |       nativeProtocols: [Object],
2025-11-01 13:07:45.620 |       pathname: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8'
2025-11-01 13:07:45.620 |     },
2025-11-01 13:07:45.620 |     _ended: true,
2025-11-01 13:07:45.620 |     _ending: true,
2025-11-01 13:07:45.620 |     _redirectCount: 0,
2025-11-01 13:07:45.620 |     _redirects: [],
2025-11-01 13:07:45.620 |     _requestBodyLength: 0,
2025-11-01 13:07:45.620 |     _requestBodyBuffers: [],
2025-11-01 13:07:45.620 |     _onNativeResponse: [Function (anonymous)],
2025-11-01 13:07:45.620 |     _currentRequest: ClientRequest {
2025-11-01 13:07:45.620 |       _events: [Object: null prototype],
2025-11-01 13:07:45.620 |       _eventsCount: 7,
2025-11-01 13:07:45.620 |       _maxListeners: undefined,
2025-11-01 13:07:45.620 |       outputData: [],
2025-11-01 13:07:45.620 |       outputSize: 0,
2025-11-01 13:07:45.620 |       writable: true,
2025-11-01 13:07:45.620 |       destroyed: false,
2025-11-01 13:07:45.620 |       _last: true,
2025-11-01 13:07:45.620 |       chunkedEncoding: false,
2025-11-01 13:07:45.620 |       shouldKeepAlive: false,
2025-11-01 13:07:45.620 |       maxRequestsOnConnectionReached: false,
2025-11-01 13:07:45.620 |       _defaultKeepAlive: true,
2025-11-01 13:07:45.620 |       useChunkedEncodingByDefault: false,
2025-11-01 13:07:45.621 |       sendDate: false,
2025-11-01 13:07:45.621 |       _removedConnection: false,
2025-11-01 13:07:45.621 |       _removedContLen: false,
2025-11-01 13:07:45.621 |       _removedTE: false,
2025-11-01 13:07:45.621 |       strictContentLength: false,
2025-11-01 13:07:45.621 |       _contentLength: 0,
2025-11-01 13:07:45.621 |       _hasBody: true,
2025-11-01 13:07:45.621 |       _trailer: '',
2025-11-01 13:07:45.621 |       finished: true,
2025-11-01 13:07:45.621 |       _headerSent: true,
2025-11-01 13:07:45.621 |       _closed: false,
2025-11-01 13:07:45.621 |       socket: [TLSSocket],
2025-11-01 13:07:45.621 |       _header: 'GET /1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:07:45.621 |         'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:07:45.621 |         'Accept-Encoding: identity\r\n' +
2025-11-01 13:07:45.621 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:07:45.621 |         'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-01 13:07:45.621 |         'Connection: close\r\n' +
2025-11-01 13:07:45.621 |         '\r\n',
2025-11-01 13:07:45.621 |       _keepAliveTimeout: 0,
2025-11-01 13:07:45.621 |       _onPendingData: [Function: nop],
2025-11-01 13:07:45.621 |       agent: [Agent],
2025-11-01 13:07:45.621 |       socketPath: undefined,
2025-11-01 13:07:45.621 |       method: 'GET',
2025-11-01 13:07:45.621 |       maxHeaderSize: undefined,
2025-11-01 13:07:45.621 |       insecureHTTPParser: undefined,
2025-11-01 13:07:45.621 |       joinDuplicateHeaders: undefined,
2025-11-01 13:07:45.621 |       path: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.621 |       _ended: false,
2025-11-01 13:07:45.621 |       res: null,
2025-11-01 13:07:45.621 |       aborted: false,
2025-11-01 13:07:45.621 |       timeoutCb: null,
2025-11-01 13:07:45.621 |       upgradeOrConnect: false,
2025-11-01 13:07:45.621 |       parser: [HTTPParser],
2025-11-01 13:07:45.621 |       maxHeadersCount: null,
2025-11-01 13:07:45.621 |       reusedSocket: false,
2025-11-01 13:07:45.621 |       host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01 13:07:45.621 |       protocol: 'https:',
2025-11-01 13:07:45.621 |       _redirectable: [Circular *1],
2025-11-01 13:07:45.621 |       [Symbol(kCapture)]: false,
2025-11-01 13:07:45.621 |       [Symbol(kBytesWritten)]: 0,
2025-11-01 13:07:45.621 |       [Symbol(kNeedDrain)]: false,
2025-11-01 13:07:45.621 |       [Symbol(corked)]: 0,
2025-11-01 13:07:45.621 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:07:45.621 |       [Symbol(errored)]: null,
2025-11-01 13:07:45.621 |       [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:07:45.621 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:07:45.621 |       [Symbol(kUniqueHeaders)]: null
2025-11-01 13:07:45.621 |     },
2025-11-01 13:07:45.621 |     _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.621 |     _timeout: null,
2025-11-01 13:07:45.621 |     [Symbol(kCapture)]: false
2025-11-01 13:07:45.621 |   }
2025-11-01 13:07:45.621 | }
2025-11-01 13:07:45.617 | Could not parse chunklist properly!
2025-11-01 13:07:45.620 | Could not get chunklist for channel #5.
2025-11-01 13:08:36.424 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:09:14.731 | Channel #1 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #2 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #3 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #4 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:15.209 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:10:15.209 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:10:15.209 |     at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:10:15.209 |     at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:10:15.209 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:10:15.209 |     at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:10:15.209 |     at processTimers (node:internal/timers:512:7) {
2025-11-01 13:10:15.209 |   code: 'ECONNABORTED',
2025-11-01 13:10:15.209 |   config: {
2025-11-01 13:10:15.209 |     transitional: {
2025-11-01 13:10:15.209 |       silentJSONParsing: true,
2025-11-01 13:10:15.209 |       forcedJSONParsing: true,
2025-11-01 13:10:15.209 |       clarifyTimeoutError: false
2025-11-01 13:10:15.209 |     },
2025-11-01 13:10:15.209 |     adapter: [ 'xhr', 'http' ],
2025-11-01 13:10:15.209 |     transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:10:15.209 |     transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:10:15.209 |     timeout: 60000,
2025-11-01 13:10:15.209 |     xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:10:15.209 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:10:15.209 |     maxContentLength: -1,
2025-11-01 13:10:15.209 |     maxBodyLength: -1,
2025-11-01 13:10:15.209 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:10:15.209 |     validateStatus: [Function: validateStatus],
2025-11-01 13:10:15.209 |     headers: AxiosHeaders {
2025-11-01 13:10:15.209 |       Accept: 'application/json, text/plain, */*',
2025-11-01 13:10:15.209 |       'Accept-Encoding': 'identity',
2025-11-01 13:10:15.209 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:10:15.209 |     },
2025-11-01 13:10:15.209 |     method: 'get',
2025-11-01 13:10:15.209 |     url: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.209 |     data: undefined
2025-11-01 13:10:15.209 |   },
2025-11-01 13:10:15.209 |   request: <ref *1> Writable {
2025-11-01 13:10:15.209 |     _writableState: WritableState {
2025-11-01 13:10:15.209 |       objectMode: false,
2025-11-01 13:10:15.209 |       highWaterMark: 16384,
2025-11-01 13:10:15.209 |       finalCalled: false,
2025-11-01 13:10:15.209 |       needDrain: false,
2025-11-01 13:10:15.209 |       ending: false,
2025-11-01 13:10:15.209 |       ended: false,
2025-11-01 13:10:15.209 |       finished: false,
2025-11-01 13:10:15.209 |       destroyed: false,
2025-11-01 13:10:15.209 |       decodeStrings: true,
2025-11-01 13:10:15.209 | Could not parse chunklist properly!
2025-11-01 13:10:15.209 | Could not get chunklist for channel #5.
2025-11-01 13:10:15.209 |       defaultEncoding: 'utf8',
2025-11-01 13:10:15.209 |       length: 0,
2025-11-01 13:10:15.209 |       writing: false,
2025-11-01 13:10:15.209 |       corked: 0,
2025-11-01 13:10:15.209 |       sync: true,
2025-11-01 13:10:15.209 |       bufferProcessing: false,
2025-11-01 13:10:15.209 |       onwrite: [Function: bound onwrite],
2025-11-01 13:10:15.209 |       writecb: null,
2025-11-01 13:10:15.209 |       writelen: 0,
2025-11-01 13:10:15.209 |       afterWriteTickInfo: null,
2025-11-01 13:10:15.209 |       buffered: [],
2025-11-01 13:10:15.209 |       bufferedIndex: 0,
2025-11-01 13:10:15.209 |       allBuffers: true,
2025-11-01 13:10:15.209 |       allNoop: true,
2025-11-01 13:10:15.209 |       pendingcb: 0,
2025-11-01 13:10:15.209 |       constructed: true,
2025-11-01 13:10:15.209 |       prefinished: false,
2025-11-01 13:10:15.209 |       errorEmitted: false,
2025-11-01 13:10:15.209 |       emitClose: true,
2025-11-01 13:10:15.209 |       autoDestroy: true,
2025-11-01 13:10:15.209 |       errored: null,
2025-11-01 13:10:15.209 |       closed: false,
2025-11-01 13:10:15.209 |       closeEmitted: false,
2025-11-01 13:10:15.209 |       [Symbol(kOnFinished)]: []
2025-11-01 13:10:15.209 |     },
2025-11-01 13:10:15.209 |     _events: [Object: null prototype] {
2025-11-01 13:10:15.209 |       response: [Function: handleResponse],
2025-11-01 13:10:15.209 |       error: [Function: handleRequestError],
2025-11-01 13:10:15.209 |       socket: [Array]
2025-11-01 13:10:15.209 |     },
2025-11-01 13:10:15.209 |     _eventsCount: 3,
2025-11-01 13:10:15.209 |     _maxListeners: undefined,
2025-11-01 13:10:15.209 |     _options: {
2025-11-01 13:10:15.209 |       maxRedirects: 21,
2025-11-01 13:10:15.209 |       maxBodyLength: Infinity,
2025-11-01 13:10:15.209 |       protocol: 'https:',
2025-11-01 13:10:15.209 |       path: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.209 |       method: 'GET',
2025-11-01 13:10:15.209 |       headers: [Object: null prototype],
2025-11-01 13:10:15.209 |       agents: [Object],
2025-11-01 13:10:15.209 |       auth: undefined,
2025-11-01 13:10:15.209 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:10:15.209 |       beforeRedirects: [Object],
2025-11-01 13:10:15.209 |       hostname: 'foxdtc-video.akamaized.net',
2025-11-01 13:10:15.209 |       port: '',
2025-11-01 13:10:15.209 |       agent: undefined,
2025-11-01 13:10:15.209 |       nativeProtocols: [Object],
2025-11-01 13:10:15.209 |       pathname: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8'
2025-11-01 13:10:15.209 |     },
2025-11-01 13:10:15.209 |     _ended: true,
2025-11-01 13:10:15.209 |     _ending: true,
2025-11-01 13:10:15.209 |     _redirectCount: 0,
2025-11-01 13:10:15.209 |     _redirects: [],
2025-11-01 13:10:15.209 |     _requestBodyLength: 0,
2025-11-01 13:10:15.209 |     _requestBodyBuffers: [],
2025-11-01 13:10:15.209 |     _onNativeResponse: [Function (anonymous)],
2025-11-01 13:10:15.209 |     _currentRequest: ClientRequest {
2025-11-01 13:10:15.209 |       _events: [Object: null prototype],
2025-11-01 13:10:15.209 |       _eventsCount: 7,
2025-11-01 13:10:15.209 |       _maxListeners: undefined,
2025-11-01 13:10:15.209 |       outputData: [],
2025-11-01 13:10:15.209 |       outputSize: 0,
2025-11-01 13:10:15.209 |       writable: true,
2025-11-01 13:10:15.209 |       destroyed: false,
2025-11-01 13:10:15.209 |       _last: true,
2025-11-01 13:10:15.209 |       chunkedEncoding: false,
2025-11-01 13:10:15.209 |       shouldKeepAlive: false,
2025-11-01 13:10:15.209 |       maxRequestsOnConnectionReached: false,
2025-11-01 13:10:15.209 |       _defaultKeepAlive: true,
2025-11-01 13:10:15.209 |       useChunkedEncodingByDefault: false,
2025-11-01 13:10:15.209 |       sendDate: false,
2025-11-01 13:10:15.209 |       _removedConnection: false,
2025-11-01 13:10:15.209 |       _removedContLen: false,
2025-11-01 13:10:15.209 |       _removedTE: false,
2025-11-01 13:10:15.209 |       strictContentLength: false,
2025-11-01 13:10:15.209 |       _contentLength: 0,
2025-11-01 13:10:15.209 |       _hasBody: true,
2025-11-01 13:10:15.209 |       _trailer: '',
2025-11-01 13:10:15.209 |       finished: true,
2025-11-01 13:10:15.209 |       _headerSent: true,
2025-11-01 13:10:15.209 |       _closed: false,
2025-11-01 13:10:15.209 |       socket: [TLSSocket],
2025-11-01 13:10:15.209 |       _header: 'GET /live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:10:15.209 |         'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:10:15.209 |         'Accept-Encoding: identity\r\n' +
2025-11-01 13:10:15.209 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:10:15.209 |         'Host: foxdtc-video.akamaized.net\r\n' +
2025-11-01 13:10:15.209 |         'Connection: close\r\n' +
2025-11-01 13:10:15.209 |         '\r\n',
2025-11-01 13:10:15.209 |       _keepAliveTimeout: 0,
2025-11-01 13:10:15.209 |       _onPendingData: [Function: nop],
2025-11-01 13:10:15.209 |       agent: [Agent],
2025-11-01 13:10:15.209 |       socketPath: undefined,
2025-11-01 13:10:15.209 |       method: 'GET',
2025-11-01 13:10:15.210 |       maxHeaderSize: undefined,
2025-11-01 13:10:15.210 |       insecureHTTPParser: undefined,
2025-11-01 13:10:15.210 |       joinDuplicateHeaders: undefined,
2025-11-01 13:10:15.210 |       path: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.210 |       _ended: false,
2025-11-01 13:10:15.210 |       res: null,
2025-11-01 13:10:15.210 |       aborted: false,
2025-11-01 13:10:15.210 |       timeoutCb: null,
2025-11-01 13:10:15.210 |       upgradeOrConnect: false,
2025-11-01 13:10:15.210 |       parser: [HTTPParser],
2025-11-01 13:10:15.210 |       maxHeadersCount: null,
2025-11-01 13:10:15.210 |       reusedSocket: false,
2025-11-01 13:10:15.210 |       host: 'foxdtc-video.akamaized.net',
2025-11-01 13:10:15.210 |       protocol: 'https:',
2025-11-01 13:10:15.210 |       _redirectable: [Circular *1],
2025-11-01 13:10:15.210 |       [Symbol(kCapture)]: false,
2025-11-01 13:10:15.210 |       [Symbol(kBytesWritten)]: 0,
2025-11-01 13:10:15.210 |       [Symbol(kNeedDrain)]: false,
2025-11-01 13:10:15.210 |       [Symbol(corked)]: 0,
2025-11-01 13:10:15.210 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:10:15.210 |       [Symbol(errored)]: null,
2025-11-01 13:10:15.210 |       [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:10:15.210 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:10:15.210 |       [Symbol(kUniqueHeaders)]: null
2025-11-01 13:10:15.210 |     },
2025-11-01 13:10:15.210 |     _currentUrl: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.210 |     _timeout: null,
2025-11-01 13:10:15.210 |     [Symbol(kCapture)]: false
2025-11-01 13:10:15.210 |   }
2025-11-01 13:10:15.210 | }
2025-11-01 13:12:36.673 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:15:27.013 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:15:27.013 |     at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:15:27.013 |     at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:15:27.013 |     at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:15:27.013 |     at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:15:27.013 |     at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:15:27.013 |     at processTimers (node:internal/timers:512:7) {
2025-11-01 13:15:27.013 |   code: 'ECONNABORTED',
2025-11-01 13:15:27.013 |   config: {
2025-11-01 13:15:27.013 |     transitional: {
2025-11-01 13:15:27.013 |       silentJSONParsing: true,
2025-11-01 13:15:27.013 |       forcedJSONParsing: true,
2025-11-01 13:15:27.013 |       clarifyTimeoutError: false
2025-11-01 13:15:27.013 |     },
2025-11-01 13:15:27.013 |     adapter: [ 'xhr', 'http' ],
2025-11-01 13:15:27.013 |     transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:15:27.013 |     transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:15:27.013 |     timeout: 60000,
2025-11-01 13:15:27.013 |     xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:15:27.013 |     xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:15:27.013 |     maxContentLength: -1,
2025-11-01 13:15:27.013 |     maxBodyLength: -1,
2025-11-01 13:15:27.013 |     env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:15:27.013 |     validateStatus: [Function: validateStatus],
2025-11-01 13:15:27.013 |     headers: AxiosHeaders {
2025-11-01 13:15:27.013 |       Accept: 'application/json, text/plain, */*',
2025-11-01 13:15:27.013 |       'Accept-Encoding': 'identity',
2025-11-01 13:15:27.013 |       'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:15:27.013 |     },
2025-11-01 13:15:27.013 |     method: 'get',
2025-11-01 13:15:27.013 |     url: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.013 |     data: undefined
2025-11-01 13:15:27.013 |   },
2025-11-01 13:15:27.013 |   request: <ref *1> Writable {
2025-11-01 13:15:27.013 |     _writableState: WritableState {
2025-11-01 13:15:27.013 |       objectMode: false,
2025-11-01 13:15:27.013 |       highWaterMark: 16384,
2025-11-01 13:15:27.013 |       finalCalled: false,
2025-11-01 13:15:27.013 |       needDrain: false,
2025-11-01 13:15:27.013 |       ending: false,
2025-11-01 13:15:27.013 |       ended: false,
2025-11-01 13:15:27.013 |       finished: false,
2025-11-01 13:15:27.013 |       destroyed: false,
2025-11-01 13:15:27.013 |       decodeStrings: true,
2025-11-01 13:15:27.013 |       defaultEncoding: 'utf8',
2025-11-01 13:15:27.013 |       length: 0,
2025-11-01 13:15:27.013 |       writing: false,
2025-11-01 13:15:27.013 |       corked: 0,
2025-11-01 13:15:27.013 |       sync: true,
2025-11-01 13:15:27.013 |       bufferProcessing: false,
2025-11-01 13:15:27.013 |       onwrite: [Function: bound onwrite],
2025-11-01 13:15:27.013 |       writecb: null,
2025-11-01 13:15:27.013 |       writelen: 0,
2025-11-01 13:15:27.013 |       afterWriteTickInfo: null,
2025-11-01 13:15:27.013 |       buffered: [],
2025-11-01 13:15:27.013 |       bufferedIndex: 0,
2025-11-01 13:15:27.013 |       allBuffers: true,
2025-11-01 13:15:27.013 |       allNoop: true,
2025-11-01 13:15:27.013 |       pendingcb: 0,
2025-11-01 13:15:27.013 |       constructed: true,
2025-11-01 13:15:27.014 |       prefinished: false,
2025-11-01 13:15:27.014 |       errorEmitted: false,
2025-11-01 13:15:27.014 |       emitClose: true,
2025-11-01 13:15:27.014 |       autoDestroy: true,
2025-11-01 13:15:27.014 |       errored: null,
2025-11-01 13:15:27.014 |       closed: false,
2025-11-01 13:15:27.014 |       closeEmitted: false,
2025-11-01 13:15:27.014 |       [Symbol(kOnFinished)]: []
2025-11-01 13:15:27.014 |     },
2025-11-01 13:15:27.014 |     _events: [Object: null prototype] {
2025-11-01 13:15:27.014 |       response: [Function: handleResponse],
2025-11-01 13:15:27.014 |       error: [Function: handleRequestError],
2025-11-01 13:15:27.014 |       socket: [Array]
2025-11-01 13:15:27.014 |     },
2025-11-01 13:15:27.014 |     _eventsCount: 3,
2025-11-01 13:15:27.014 |     _maxListeners: undefined,
2025-11-01 13:15:27.014 |     _options: {
2025-11-01 13:15:27.014 |       maxRedirects: 21,
2025-11-01 13:15:27.014 |       maxBodyLength: Infinity,
2025-11-01 13:15:27.014 |       protocol: 'https:',
2025-11-01 13:15:27.014 |       path: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 |       method: 'GET',
2025-11-01 13:15:27.014 |       headers: [Object: null prototype],
2025-11-01 13:15:27.014 |       agents: [Object],
2025-11-01 13:15:27.014 |       auth: undefined,
2025-11-01 13:15:27.014 |       beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:15:27.014 |       beforeRedirects: [Object],
2025-11-01 13:15:27.014 |       hostname: 'foxdtc-video.akamaized.net',
2025-11-01 13:15:27.014 |       port: '',
2025-11-01 13:15:27.014 |       agent: undefined,
2025-11-01 13:15:27.014 |       nativeProtocols: [Object],
2025-11-01 13:15:27.014 |       pathname: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8'
2025-11-01 13:15:27.014 |     },
2025-11-01 13:15:27.014 |     _ended: true,
2025-11-01 13:15:27.014 |     _ending: true,
2025-11-01 13:15:27.014 |     _redirectCount: 0,
2025-11-01 13:15:27.014 |     _redirects: [],
2025-11-01 13:15:27.014 |     _requestBodyLength: 0,
2025-11-01 13:15:27.014 |     _requestBodyBuffers: [],
2025-11-01 13:15:27.014 |     _onNativeResponse: [Function (anonymous)],
2025-11-01 13:15:27.014 |     _currentRequest: ClientRequest {
2025-11-01 13:15:27.014 |       _events: [Object: null prototype],
2025-11-01 13:15:27.014 |       _eventsCount: 7,
2025-11-01 13:15:27.014 |       _maxListeners: undefined,
2025-11-01 13:15:27.014 |       outputData: [],
2025-11-01 13:15:27.014 |       outputSize: 0,
2025-11-01 13:15:27.014 |       writable: true,
2025-11-01 13:15:27.014 |       destroyed: false,
2025-11-01 13:15:27.014 |       _last: true,
2025-11-01 13:15:27.014 |       chunkedEncoding: false,
2025-11-01 13:15:27.014 |       shouldKeepAlive: false,
2025-11-01 13:15:27.014 |       maxRequestsOnConnectionReached: false,
2025-11-01 13:15:27.014 |       _defaultKeepAlive: true,
2025-11-01 13:15:27.014 |       useChunkedEncodingByDefault: false,
2025-11-01 13:15:27.014 |       sendDate: false,
2025-11-01 13:15:27.014 |       _removedConnection: false,
2025-11-01 13:15:27.014 |       _removedContLen: false,
2025-11-01 13:15:27.014 |       _removedTE: false,
2025-11-01 13:15:27.014 |       strictContentLength: false,
2025-11-01 13:15:27.014 |       _contentLength: 0,
2025-11-01 13:15:27.014 |       _hasBody: true,
2025-11-01 13:15:27.014 |       _trailer: '',
2025-11-01 13:15:27.014 |       finished: true,
2025-11-01 13:15:27.014 |       _headerSent: true,
2025-11-01 13:15:27.014 |       _closed: false,
2025-11-01 13:15:27.014 |       socket: [TLSSocket],
2025-11-01 13:15:27.014 |       _header: 'GET /live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:15:27.014 |         'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:15:27.014 |         'Accept-Encoding: identity\r\n' +
2025-11-01 13:15:27.014 |         'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:15:27.014 |         'Host: foxdtc-video.akamaized.net\r\n' +
2025-11-01 13:15:27.014 |         'Connection: close\r\n' +
2025-11-01 13:15:27.014 |         '\r\n',
2025-11-01 13:15:27.014 |       _keepAliveTimeout: 0,
2025-11-01 13:15:27.014 |       _onPendingData: [Function: nop],
2025-11-01 13:15:27.014 |       agent: [Agent],
2025-11-01 13:15:27.014 |       socketPath: undefined,
2025-11-01 13:15:27.014 |       method: 'GET',
2025-11-01 13:15:27.014 |       maxHeaderSize: undefined,
2025-11-01 13:15:27.014 |       insecureHTTPParser: undefined,
2025-11-01 13:15:27.014 |       joinDuplicateHeaders: undefined,
2025-11-01 13:15:27.014 |       path: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 |       _ended: false,
2025-11-01 13:15:27.014 |       res: null,
2025-11-01 13:15:27.014 |       aborted: false,
2025-11-01 13:15:27.014 |       timeoutCb: null,
2025-11-01 13:15:27.014 |       upgradeOrConnect: false,
2025-11-01 13:15:27.014 |       parser: [HTTPParser],
2025-11-01 13:15:27.014 |       maxHeadersCount: null,
2025-11-01 13:15:27.014 |       reusedSocket: false,
2025-11-01 13:15:27.014 |       host: 'foxdtc-video.akamaized.net',
2025-11-01 13:15:27.014 |       protocol: 'https:',
2025-11-01 13:15:27.014 |       _redirectable: [Circular *1],
2025-11-01 13:15:27.014 |       [Symbol(kCapture)]: false,
2025-11-01 13:15:27.014 |       [Symbol(kBytesWritten)]: 0,
2025-11-01 13:15:27.014 |       [Symbol(kNeedDrain)]: false,
2025-11-01 13:15:27.014 |       [Symbol(corked)]: 0,
2025-11-01 13:15:27.014 |       [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:15:27.014 |       [Symbol(errored)]: null,
2025-11-01 13:15:27.014 |       [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:15:27.014 |       [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:15:27.014 |       [Symbol(kUniqueHeaders)]: null
2025-11-01 13:15:27.014 |     },
2025-11-01 13:15:27.014 |     _currentUrl: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 |     _timeout: null,
2025-11-01 13:15:27.014 |     [Symbol(kCapture)]: false
2025-11-01 13:15:27.014 |   }
2025-11-01 13:15:27.013 | Could not parse chunklist properly!
2025-11-01 13:15:27.013 | Could not get chunklist for channel #5.
2025-11-01 13:15:27.014 | }
2025-11-01 13:16:14.528 | Updating FOX One prelim token
2025-11-01 13:16:14.762 | Refreshing TV Provider token (FOX One)

I like this, let's try to get something like this working.

The pattern of adding |Header=value does not currently work for redirects. I suspect it may be tricky if there are restrictions in our http parser.

But an easier alternative may be extra headers, i.e. X-Location-Header: value that are read off the redirect response.

1 Like

So far, so good. On the fifth recording now.


I'll update this post when the last recording finishes.
Rats! didn't have to wait, failures again.

4 back-back The Masked Singer recordings from 03:00-07:00 not interrupted, but Invalid playlist errors in container log

Container log
2025-11-01T09:59:30.089972292Z Channel #219 has an active event (Masks Back -- The Good, The Bad & The Cuddly -- Round 1). Going to start the stream.
2025-11-01T10:00:29.743655276Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:32.216160129Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:34.639997506Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:37.222020371Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:39.703170693Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:42.211049823Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:44.726301990Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:47.311400244Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:49.638414709Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:51.387445484Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:53.935164099Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:56.389907473Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:58.894118958Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:01.395609947Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:03.917099728Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:06.385422365Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:08.928488024Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:11.423424168Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:13.808859020Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:15.555458221Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:18.064128186Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:20.603135955Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:23.090210076Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:25.558518632Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:27.975251920Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:30.610972196Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:33.077906905Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:35.600575427Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:38.077161721Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:40.482136255Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:43.074315949Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:45.567116950Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:48.104786274Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:50.612347526Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:53.070032142Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:55.481459505Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:57.983048240Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:00.583105062Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:03.109738046Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:05.581701182Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:08.112198139Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:10.497506103Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:13.079959857Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:15.621262307Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:18.119294882Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:20.569005474Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:23.104874833Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:25.498003553Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:28.002858187Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:30.607343654Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:33.085428119Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:35.617431145Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:38.001121943Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:39.745898871Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:42.288528174Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:44.758864624Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:47.281497991Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:49.662873762Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:51.458236911Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:53.946962982Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:56.416685057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:58.926518379Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:01.332968320Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:03.974983243Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:06.418575699Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:08.976493454Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:11.410314384Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:13.845218425Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:15.632143534Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:18.103296896Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:20.621450060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:23.008538980Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:25.593605563Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:28.071142048Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:30.636090002Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:33.114880461Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:35.595980884Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:38.129151072Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:40.517210935Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:43.101215873Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:45.600673583Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:48.142126826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:50.602077237Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:53.098776225Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:55.612259992Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:58.155878773Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:00.591409016Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:03.149267091Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:05.601995557Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:08.144110440Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:10.520122834Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:13.107044283Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:15.587881000Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:18.101889842Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:20.797728011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:23.153526420Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:25.536185057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:28.090966417Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:30.651766847Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:33.121377008Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:35.613539034Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:38.026337505Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:39.761056910Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:42.306645915Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:44.778602034Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:47.315551464Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:49.691915460Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:52.303405444Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:54.779883570Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:57.288458271Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:59.824995550Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:02.280124840Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:04.791177814Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:07.189901854Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:09.792803909Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:12.332821130Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:14.792542156Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:17.283666128Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:19.791023755Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:22.209565883Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:24.826862268Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:27.294906029Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:29.802997267Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:32.335644843Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:34.819825661Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:37.209302372Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:39.833554773Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:42.289406634Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:44.822883861Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:47.328923798Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:49.704698011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:52.208541740Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:54.836136041Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:57.313597112Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:59.822073421Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:02.342192454Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:04.711828495Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:07.217956378Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:09.839867469Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:12.341356473Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:14.844689791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:17.304093419Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:19.794573928Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:22.214987776Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:24.821441871Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:27.331971276Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:29.865311372Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:32.371086589Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:34.803925633Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:37.212364184Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:39.839016220Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:42.336460453Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:44.800850294Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:47.314420062Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:49.805849791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:52.237344909Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:54.806581380Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:57.308700791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:59.827918574Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:02.319820204Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:04.810326379Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:07.217292632Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:09.848310090Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:12.302464889Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:14.829229994Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:17.365859786Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:19.727606934Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:22.310218494Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:24.822651516Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:27.354147737Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:29.821888011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:32.373602826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:34.813331011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:37.262313529Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:39.847746124Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:42.319352281Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:44.817913244Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:47.366676640Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:49.833181064Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:52.263439111Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:54.821006193Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:57.368327068Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:59.831757084Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:02.359465719Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:04.742547723Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:07.333094489Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:09.834552837Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:12.361676820Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:14.821143056Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:17.381969037Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:19.741848913Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:22.329891249Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:24.878404659Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:27.344792720Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:29.867891172Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:32.262574838Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:34.043875876Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:36.544203837Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:38.991769316Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:41.507857928Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:44.007671235Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:46.498809110Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:49.004204831Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:51.530213791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:54.009481512Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:56.540193737Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:58.941760614Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:01.422831868Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:04.040001213Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:06.506298254Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:09.062051494Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:11.537754418Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:13.931804524Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:16.513034846Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:19.071872433Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:21.547138747Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:24.047739653Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:26.512991981Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:29.012374464Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:31.523884227Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:34.016720675Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:36.555116793Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:39.013087114Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:41.516391856Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:44.011065282Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:46.511785761Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:49.029009924Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:51.524799621Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:54.099164766Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:56.568313534Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:59.021210165Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:01.436963078Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:04.052337854Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:06.554857132Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:09.035290285Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:11.536350916Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:13.944151696Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:16.537171192Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:19.040045628Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:21.557910242Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:24.034725252Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:26.567474562Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:28.954169133Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:31.542023566Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:34.060416882Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:36.546115760Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:39.064696300Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:41.450184060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:44.038830684Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:46.456785747Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:49.054671149Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:51.566725273Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:54.060670137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:56.627239679Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:58.963849220Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:01.536374944Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:04.052907329Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:06.560298087Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:09.074482754Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:11.466386694Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:13.964177409Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:16.542502458Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:19.087641242Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:21.558989826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:24.104928137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:26.457995849Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:28.256278478Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:30.756012638Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:33.244116742Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:35.715234564Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:38.207897088Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:39.876871820Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:42.385831683Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:44.919071039Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:47.372361814Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:49.890552278Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:52.425293172Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:54.877683864Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:57.426370934Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:59.926587646Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:02.313054621Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:04.096762203Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:06.552445888Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:09.114514134Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:11.477823408Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:13.973196889Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:16.566096449Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:19.043648592Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:21.560232604Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:24.047397094Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:26.481250141Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:28.227176612Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:30.768178865Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:33.261431856Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:35.771744416Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:38.144108081Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:40.737698057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:43.266222315Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:45.769739604Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:48.274942554Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:50.778393449Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:53.248217812Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:55.742844759Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:58.247332053Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:00.739536932Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:03.241733693Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:05.824259092Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:08.151529305Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:09.943853826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:12.411321980Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:14.941741638Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:17.332879375Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:19.908342027Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:22.408935011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:24.944728060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:27.418380371Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:29.920098689Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:32.408016180Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:34.075756289Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:36.621215900Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:39.119720623Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:41.586261671Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:44.081207783Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:46.584379645Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:49.125956311Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:51.587001311Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:54.113156111Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:56.508528952Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:58.281675239Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:00.758566707Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:03.271088385Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:05.758787297Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:08.257267137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:10.676656861Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:13.280988809Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:15.758137117Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:18.291068209Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:20.783457807Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:23.250220033Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:25.668129366Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:28.260384720Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:30.779219930Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:33.284219301Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:35.793320030Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:38.169740758Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:40.677598181Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:43.295565930Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:45.764973646Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:48.258548540Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:50.768171140Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:53.182508173Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:55.680765508Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:58.261782535Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:00.809474634Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:03.301763610Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:05.789012807Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:08.265463414Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:10.766792192Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:13.271276075Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:15.801543651Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:18.262713126Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:20.809786753Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:23.266746436Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:25.683238475Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration

Looks like this was simpler. I added basic support in the next build.

2 Likes

I noticed that the channel moves around in the Guide. FNC starts out on Eplus5 then after 1/2 hour moves to Eplus12 then moves to Eplus8???

Also, the guide on my Clients do not match the guide on the server. I tried to refresh the source on the client, clear cache, force close and reopen and it doesn't update.