@editframe/elements 0.18.21-beta.0 → 0.18.23-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.
Files changed (34) hide show
  1. package/dist/elements/EFAudio.d.ts +1 -12
  2. package/dist/elements/EFAudio.js +3 -18
  3. package/dist/elements/EFMedia/AssetMediaEngine.d.ts +1 -1
  4. package/dist/elements/EFMedia/AssetMediaEngine.js +3 -3
  5. package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +15 -9
  6. package/dist/elements/EFMedia/BufferedSeekingInput.js +76 -78
  7. package/dist/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.js +12 -10
  8. package/dist/elements/EFMedia/audioTasks/makeAudioSeekTask.js +2 -18
  9. package/dist/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.js +12 -10
  10. package/dist/elements/EFTimegroup.d.ts +4 -4
  11. package/dist/elements/EFTimegroup.js +52 -39
  12. package/dist/elements/EFVideo.d.ts +1 -32
  13. package/dist/elements/EFVideo.js +13 -51
  14. package/dist/elements/SampleBuffer.js +1 -1
  15. package/package.json +2 -2
  16. package/src/elements/EFAudio.browsertest.ts +0 -3
  17. package/src/elements/EFAudio.ts +3 -22
  18. package/src/elements/EFMedia/AssetMediaEngine.browsertest.ts +39 -1
  19. package/src/elements/EFMedia/AssetMediaEngine.ts +5 -4
  20. package/src/elements/EFMedia/BufferedSeekingInput.browsertest.ts +90 -185
  21. package/src/elements/EFMedia/BufferedSeekingInput.ts +119 -130
  22. package/src/elements/EFMedia/audioTasks/makeAudioFrequencyAnalysisTask.ts +21 -21
  23. package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.chunkboundary.regression.browsertest.ts +10 -5
  24. package/src/elements/EFMedia/audioTasks/makeAudioSeekTask.ts +33 -34
  25. package/src/elements/EFMedia/audioTasks/makeAudioTimeDomainAnalysisTask.ts +22 -20
  26. package/src/elements/EFMedia/videoTasks/makeVideoSeekTask.ts +0 -3
  27. package/src/elements/EFMedia.browsertest.ts +72 -60
  28. package/src/elements/EFTimegroup.browsertest.ts +9 -4
  29. package/src/elements/EFTimegroup.ts +79 -55
  30. package/src/elements/EFVideo.browsertest.ts +172 -160
  31. package/src/elements/EFVideo.ts +17 -73
  32. package/src/elements/SampleBuffer.ts +1 -2
  33. package/test/EFVideo.framegen.browsertest.ts +0 -54
  34. 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 <= sampleEndMs) {
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
  });