@give-tech/ec-player 0.0.1-beta.17 → 0.0.1-beta.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fMP4Demuxer.d.ts","sourceRoot":"","sources":["../../src/demuxer/fMP4Demuxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fMP4Demuxer.d.ts","sourceRoot":"","sources":["../../src/demuxer/fMP4Demuxer.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -464,6 +464,7 @@ class fMP4Demuxer {
464
464
  const endOffset = trakOffset + trakSize;
465
465
  let currentTrackId = null;
466
466
  let isVideoTrack = false;
467
+ console.log("[fMP4Demuxer] parseTrak called, size:", trakSize);
467
468
  while (offset < endOffset - 8) {
468
469
  const boxSize = readUint32$1(data, offset);
469
470
  const boxType = readFourCC(data, offset + 4);
@@ -476,10 +477,12 @@ class fMP4Demuxer {
476
477
  } else {
477
478
  currentTrackId = readUint32$1(data, boxDataStart + 1 + 3 + 4 + 4);
478
479
  }
480
+ console.log("[fMP4Demuxer] tkhd: version=", version, "trackId=", currentTrackId);
479
481
  } else if (boxType === "mdia") {
480
482
  isVideoTrack = this.parseMdiaAndCheckVideo(data, offset, boxSize);
481
483
  if (isVideoTrack && currentTrackId !== null) {
482
484
  this.trackId = currentTrackId;
485
+ console.log("[fMP4Demuxer] Found video track, trackId:", currentTrackId);
483
486
  }
484
487
  }
485
488
  offset += boxSize;
@@ -603,6 +606,7 @@ class fMP4Demuxer {
603
606
  if (boxSize < 8) break;
604
607
  if (boxType === "hvcC") {
605
608
  this.hvcC = data.slice(offset, offset + boxSize);
609
+ console.log("[fMP4Demuxer] Found hvcC, size:", boxSize);
606
610
  return;
607
611
  }
608
612
  offset += boxSize;
@@ -763,7 +767,9 @@ class fMP4Demuxer {
763
767
  extractSamples(moof, mdatData, moofOffset, mdatOffset) {
764
768
  const samples = [];
765
769
  for (const traf of moof.trafs) {
766
- if (!traf.tfhd || !traf.tfdt) continue;
770
+ if (!traf.tfhd || !traf.tfdt) {
771
+ continue;
772
+ }
767
773
  if (traf.tfhd.trackId !== this.trackId) {
768
774
  continue;
769
775
  }
@@ -776,8 +782,15 @@ class fMP4Demuxer {
776
782
  dataOffset = absoluteOffset - mdatOffset - 8;
777
783
  }
778
784
  for (const sample of trun.samples) {
779
- if (sample.size === void 0 || sample.size <= 0) continue;
780
- const sampleData = mdatData.slice(dataOffset, dataOffset + sample.size);
785
+ let sampleSize = sample.size;
786
+ if (sampleSize === void 0 || sampleSize <= 0) {
787
+ sampleSize = mdatData.length - dataOffset;
788
+ }
789
+ if (sampleSize <= 0) {
790
+ console.log(`[fMP4Demuxer] Skipping sample: no data available`);
791
+ continue;
792
+ }
793
+ const sampleData = mdatData.slice(dataOffset, dataOffset + sampleSize);
781
794
  const isSync = (sample.flags ?? 0) & 16777216;
782
795
  const cto = sample.compositionTimeOffset ?? 0;
783
796
  const duration = sample.duration ?? 0;
@@ -788,7 +801,7 @@ class fMP4Demuxer {
788
801
  duration,
789
802
  isSync: isSync !== 0
790
803
  });
791
- dataOffset += sample.size;
804
+ dataOffset += sampleSize;
792
805
  baseDts += duration;
793
806
  }
794
807
  }
@@ -1496,6 +1509,7 @@ class HLSSegmentPrefetcher extends SegmentPrefetcher {
1496
1509
  * 获取分片数据
1497
1510
  */
1498
1511
  async fetchSegment(segment, index) {
1512
+ console.log("[HLSSegmentPrefetcher] fetchSegment called, index=", index, "uri=", segment.uri);
1499
1513
  if (segment.initSegmentUri && segment.initSegmentUri !== this.currentInitSegmentUri) {
1500
1514
  console.log("[HLSSegmentPrefetcher] Init segment changed:", segment.initSegmentUri);
1501
1515
  await this.player.loadNewInitSegment(segment.initSegmentUri);
@@ -1503,13 +1517,22 @@ class HLSSegmentPrefetcher extends SegmentPrefetcher {
1503
1517
  }
1504
1518
  const baseUrl = this.baseUrl;
1505
1519
  const url = segment.uri.startsWith("http") ? segment.uri : baseUrl + segment.uri;
1520
+ console.log("[HLSSegmentPrefetcher] Fetching URL:", url);
1506
1521
  const headers = {};
1507
1522
  if (segment.byteRange) {
1508
1523
  const { start, end } = segment.byteRange;
1509
1524
  headers["Range"] = `bytes=${start}-${end}`;
1510
1525
  }
1511
- const response = await fetch(url, { headers });
1512
- return new Uint8Array(await response.arrayBuffer());
1526
+ try {
1527
+ const response = await fetch(url, { headers });
1528
+ console.log("[HLSSegmentPrefetcher] Fetch response:", response.status, response.ok);
1529
+ const buffer = await response.arrayBuffer();
1530
+ console.log("[HLSSegmentPrefetcher] Fetched data size:", buffer.byteLength);
1531
+ return new Uint8Array(buffer);
1532
+ } catch (error) {
1533
+ console.error("[HLSSegmentPrefetcher] Fetch error:", error);
1534
+ throw error;
1535
+ }
1513
1536
  }
1514
1537
  /**
1515
1538
  * 解析分片数据
@@ -1868,9 +1891,7 @@ class HLSPlayer extends BasePlayer {
1868
1891
  this._sampleQueue.push({ sample });
1869
1892
  }
1870
1893
  totalSampleCount += samples.length;
1871
- console.log("[parseFMP4Data] Pushed", samples.length, "samples, totalQueue=", this._sampleQueue.length);
1872
1894
  }
1873
- console.log("[parseFMP4Data] Total samples parsed:", totalSampleCount);
1874
1895
  return totalSampleCount;
1875
1896
  }
1876
1897
  /**