• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

benrr101 / node-taglib-sharp / 48389640

28 Oct 2023 06:22PM UTC coverage: 92.443% (+0.5%) from 91.9%
48389640

push

appveyor

web-flow
MPEG4 Cleanup (#88)

* Round one

* Round 2

* Fixing up mpeg4box file

* Fix names of box types to match style

* Fix names of box types to match style

* Separate boxes into separate files ... not working yet.

* Decomposing handler type to a bytevector. This is clumsy but will be cleaned up shortly

* Moving rendering to a utility class. Fixes cyclic dependencies

* Adding stuff to index and moving things around to let tests run

* Fixing iso handler box that was broken

* Public fields to properties

* Removing redundant variable typing

* Removing redundant casts

* Removing child factory from isoAudioSampleEntry.ts

* Removing child factory from appleAnnotationBox.ts

* Removing child factory from appleItemListBox.ts and isoMetaBox.ts

* Removing child factory from isoSampleDescriptionBox.ts

* Removing child factory from isoSampleTableBox.ts and isoUserDataBox.ts

* Child factories have been outlawed

* Introduce a handler type class

* Simplify the mpeg4boxtype class

* handler types in a different class

* Rewrite the get* methods

* Some tests

* Single itunes tag tests

* Performer roles (bug fixed), genres

* 99% coverage of appletag

* Pretty much the last cleanup I want to do before another release cycle.

* Leaving a todo

* Ok two more tweaks

3250 of 4147 branches covered (0.0%)

Branch coverage included in aggregate %.

1763 of 1763 new or added lines in 39 files covered. (100.0%)

26757 of 28313 relevant lines covered (94.5%)

422.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

30.0
/src/mpeg4/boxes/isoSampleEntry.ts
1
import Mpeg4Box from "./mpeg4Box";
1✔
2
import Mpeg4BoxHeader from "../mpeg4BoxHeader";
3
import {File} from "../../file";
4
import {Guards} from "../../utils";
1✔
5
import {ByteVector} from "../../byteVector";
6

7
/**
8
 * This class extends @see Mpeg4Box to provide an implementation of a ISO/IEC 14496-12 SampleEntry.
9
 */
10
export default abstract class IsoSampleEntry extends Mpeg4Box {
1✔
11
    private _dataReferenceIndex: number;
12

13
    /**
14
     * Protected constructor to force construction via static functions.
15
     */
16
    protected constructor() {
17
        super();
×
18
    }
19

20
    /**
21
     * Constructs and initializes a new instance of @see IsoSampleEntry with a provided header and
22
     * handler by reading the contents from a specified file.
23
     * @param header A @see Mpeg4BoxHeader object containing the header to use for the new instance.
24
     * @param file A @see File object to read the contents of the box from.
25
     * @param handlerType Type of the handler box object containing the handler that applies to the
26
     *     new instance, or undefined if no handler applies.
27
     */
28
    public initializeFromHeaderFileAndHandler(header: Mpeg4BoxHeader, file: File, handlerType: ByteVector): void {
29
        Guards.truthy(file, "file");
×
30

31
        this.initializeFromHeader(header, handlerType);
×
32
        const dataPositionBeforeIncrease = this.increaseDataPosition(8);
×
33
        file.seek(dataPositionBeforeIncrease + 6);
×
34
        this._dataReferenceIndex = file.readBlock(2).toUshort();
×
35
    }
36

37
    /**
38
     * Gets the data reference index of the current instance.
39
     * @return A value containing the data reference index of the current instance.
40
     */
41
    public get dataReferenceIndex(): number { return this._dataReferenceIndex; }
×
42
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc