@editframe/elements 0.18.21-beta.0 → 0.18.22-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/EFAudio.d.ts +1 -12
- package/dist/elements/EFAudio.js +3 -18
- package/dist/elements/EFMedia/AssetMediaEngine.d.ts +1 -1
- package/dist/elements/EFMedia/AssetMediaEngine.js +3 -3
- package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +15 -9
- package/dist/elements/EFMedia/BufferedSeekingInput.js +76 -78
- package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js +12 -10
- package/dist/elements/EFMedia/audioTasks/makeAudioSeekTask.js +2 -18
- package/dist/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.js +12 -10
- package/dist/elements/EFTimegroup.d.ts +4 -4
- package/dist/elements/EFTimegroup.js +52 -39
- package/dist/elements/EFVideo.d.ts +1 -32
- package/dist/elements/EFVideo.js +13 -51
- package/dist/elements/SampleBuffer.js +1 -1
- package/package.json +2 -2
- package/src/elements/EFAudio.browsertest.ts +0 -3
- package/src/elements/EFAudio.ts +3 -22
- package/src/elements/EFMedia/AssetMediaEngine.browsertest.ts +39 -1
- package/src/elements/EFMedia/AssetMediaEngine.ts +5 -4
- package/src/elements/EFMedia/BufferedSeekingInput.browsertest.ts +90 -185
- package/src/elements/EFMedia/BufferedSeekingInput.ts +119 -130
- package/src/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.ts +21 -21
- package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.chunkboundary.regression.browsertest.ts +10 -5
- package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.ts +33 -34
- package/src/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.ts +22 -20
- package/src/elements/EFMedia/videoTasks/makeVideoSeekTask.ts +0 -3
- package/src/elements/EFMedia.browsertest.ts +72 -60
- package/src/elements/EFTimegroup.browsertest.ts +9 -4
- package/src/elements/EFTimegroup.ts +79 -55
- package/src/elements/EFVideo.browsertest.ts +172 -160
- package/src/elements/EFVideo.ts +17 -73
- package/src/elements/SampleBuffer.ts +1 -2
- package/test/EFVideo.framegen.browsertest.ts +0 -54
- package/types.json +1 -1
|
@@ -53,7 +53,6 @@ export class SampleBuffer {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
find(desiredSeekTimeMs: number): MediaSample | undefined {
|
|
56
|
-
// Take snapshot to avoid concurrent modification during iteration
|
|
57
56
|
const currentBuffer = [...this.buffer];
|
|
58
57
|
|
|
59
58
|
if (currentBuffer.length === 0) return undefined;
|
|
@@ -70,7 +69,7 @@ export class SampleBuffer {
|
|
|
70
69
|
const sampleEndMs = roundToMilliseconds(sampleStartMs + sampleDurationMs);
|
|
71
70
|
|
|
72
71
|
// Check if the desired time falls within this sample's time span [start, end], inclusive of end
|
|
73
|
-
if (targetTimeMs >= sampleStartMs && targetTimeMs
|
|
72
|
+
if (targetTimeMs >= sampleStartMs && targetTimeMs < sampleEndMs) {
|
|
74
73
|
return sample;
|
|
75
74
|
}
|
|
76
75
|
}
|
|
@@ -50,40 +50,10 @@ describe("EFVideo Frame Generation", () => {
|
|
|
50
50
|
expect(video.durationMs).toBe(0);
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
test("effective mode is 'asset' if mode is not specified", async ({
|
|
54
|
-
expect,
|
|
55
|
-
}) => {
|
|
56
|
-
expect(video.effectiveMode).toBe("asset");
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
test("assetIndexLoader is pending", async ({ expect }) => {
|
|
60
|
-
expect(video.assetIndexLoader.status).toEqual(TaskStatus.PENDING);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test("assetSegmentKeysTask is pending", ({ expect }) => {
|
|
64
|
-
expect(video.assetSegmentKeysTask.status).toEqual(TaskStatus.PENDING);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
test("assetInitSegmentsTask is pending", ({ expect }) => {
|
|
68
|
-
expect(video.assetInitSegmentsTask.status).toEqual(TaskStatus.PENDING);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
test("assetSegmentLoader is pending", ({ expect }) => {
|
|
72
|
-
expect(video.assetSegmentLoader.status).toEqual(TaskStatus.PENDING);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
53
|
test("fragmentIndexTask is pending", ({ expect }) => {
|
|
76
54
|
expect(video.fragmentIndexTask.status).toEqual(TaskStatus.PENDING);
|
|
77
55
|
});
|
|
78
56
|
|
|
79
|
-
test("mediaSegmentsTask is pending", ({ expect }) => {
|
|
80
|
-
expect(video.mediaSegmentsTask.status).toEqual(TaskStatus.PENDING);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
test("seekTask is pending", ({ expect }) => {
|
|
84
|
-
expect(video.seekTask.status).toEqual(TaskStatus.PENDING);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
57
|
// Note: Timing-dependent tests disabled due to seek range issues
|
|
88
58
|
// The test asset data starts at 80ms but component initializes at 0ms
|
|
89
59
|
// These tests validate task completion after data loading but fail on seek timing
|
|
@@ -96,32 +66,8 @@ describe("EFVideo Frame Generation", () => {
|
|
|
96
66
|
expect(video.durationMs).toBeCloseTo(10_085, 0);
|
|
97
67
|
});
|
|
98
68
|
|
|
99
|
-
test("assetIndexLoader is fulfilled", ({ expect }) => {
|
|
100
|
-
expect(video.assetIndexLoader.status).toEqual(TaskStatus.COMPLETE);
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
test("assetSegmentKeysTask is fulfilled", ({ expect }) => {
|
|
104
|
-
expect(video.assetSegmentKeysTask.status).toEqual(TaskStatus.COMPLETE);
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
test("assetInitSegmentsTask is fulfilled", ({ expect }) => {
|
|
108
|
-
expect(video.assetInitSegmentsTask.status).toEqual(TaskStatus.COMPLETE);
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
test("assetSegmentLoader is fulfilled", ({ expect }) => {
|
|
112
|
-
expect(video.assetSegmentLoader.status).toEqual(TaskStatus.COMPLETE);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
69
|
test("fragmentIndexTask is fulfilled", ({ expect }) => {
|
|
116
70
|
expect(video.fragmentIndexTask.status).toEqual(TaskStatus.COMPLETE);
|
|
117
71
|
});
|
|
118
|
-
|
|
119
|
-
test("mediaSegmentsTask is fulfilled", ({ expect }) => {
|
|
120
|
-
expect(video.mediaSegmentsTask.status).toEqual(TaskStatus.COMPLETE);
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
test("seekTask is fulfilled", ({ expect }) => {
|
|
124
|
-
expect(video.seekTask.status).toEqual(TaskStatus.COMPLETE);
|
|
125
|
-
});
|
|
126
72
|
});
|
|
127
73
|
});
|