homekit/rebroadcast: fix prebuffer calculation, remove prebuffer warning

This commit is contained in:
Koushik Dutta
2025-04-02 22:12:12 -07:00
parent 1c52297e74
commit 2d93a69c91
6 changed files with 9 additions and 12 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/homekit",
"version": "1.2.64",
"version": "1.2.65",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/homekit",
"version": "1.2.64",
"version": "1.2.65",
"dependencies": {
"@koush/werift-src": "file:../../external/werift",
"check-disk-space": "^3.4.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/homekit",
"version": "1.2.64",
"version": "1.2.65",
"description": "HomeKit Plugin for Scrypted",
"scripts": {
"scrypted-setup-project": "scrypted-setup-project",

View File

@@ -141,10 +141,6 @@ export async function* handleFragmentsRequests(streamId: number, device: Scrypte
container: 'mp4',
});
const ffmpegInput = JSON.parse((await mediaManager.convertMediaObjectToBuffer(media, ScryptedMimeTypes.FFmpegInput)).toString()) as FFmpegInput;
if (!ffmpegInput.mediaStreamOptions?.prebuffer) {
log.a(`${device.name} is not prebuffered. Please install and enable the Rebroadcast plugin.`);
}
const noAudio = ffmpegInput.mediaStreamOptions && ffmpegInput.mediaStreamOptions.audio === null;
const audioCodec = ffmpegInput.mediaStreamOptions?.audio?.codec;
const videoCodec = ffmpegInput.mediaStreamOptions?.video?.codec;

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/prebuffer-mixin",
"version": "0.10.55",
"version": "0.10.56",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/prebuffer-mixin",
"version": "0.10.55",
"version": "0.10.56",
"license": "Apache-2.0",
"dependencies": {
"@scrypted/common": "file:../../common",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/prebuffer-mixin",
"version": "0.10.55",
"version": "0.10.56",
"description": "Video Stream Rebroadcast, Prebuffer, and Management Plugin for Scrypted.",
"author": "Scrypted",
"license": "Apache-2.0",

View File

@@ -1124,8 +1124,7 @@ class PrebufferSession {
session,
filter,
});
mediaStreamOptions.prebuffer = requestedPrebuffer;
mediaStreamOptions.prebuffer = 0;
if (audioSection) {
mediaStreamOptions.audio ||= {};
@@ -1145,6 +1144,8 @@ class PrebufferSession {
for (const prebuffer of prebufferContainer) {
if (prebuffer.time < now - requestedPrebuffer)
continue;
if (!mediaStreamOptions.prebuffer)
mediaStreamOptions.prebuffer = now - prebuffer.time;
for (const chunk of prebuffer.chunks) {
available += chunk.length;
}