<commit_before>// flv.js TypeScript definition file

declare namespace FlvJs {

    interface MediaSegment {
        duration: number,
        filesize?: number,
        url: string
    }

    interface MediaDataSource {
        type: string,
        isLive?: boolean,
        cors?: boolean,
        withCredentials?: boolean,

        duration?: number;
        filesize?: number;
        url?: string;

        segments?: Array<MediaSegment>
    }

    interface Config {
        enableWorker?: boolean,
        enableStashBuffer?: boolean,
        stashInitialSize?: number,

        isLive?: boolean,

        lazyLoad?: boolean,
        lazyLoadMaxDuration?: number,
        deferLoadAfterSourceOpen?: boolean,

        statisticsInfoReportInterval?: number,

        accurateSeek?: boolean,
        seekType?: string,  // [range, param, custom]
        seekParamStart?: string,
        seekParamEnd?: string,
        rangeLoadZeroStart?: boolean,
        customSeekHandler?: any
    }

    interface FeatureList {
        mseFlvPlayback: boolean,
        mseLiveFlvPlayback: boolean,
        networkStreamIO: boolean,
        networkLoaderName: string,
        nativeMP4H264Playback: boolean,
        nativeWebmVP8Playback: boolean,
        nativeWebmVP9Playback: boolean
    }

    interface PlayerConstructor {
        new (mediaDataSource: MediaDataSource, config?: Config): Player;
    }

    interface Player {
        constructor: PlayerConstructor;
        destroy(): void;
        on(event: string, listener: Function): void;
        off(event: string, listener: Function): void;
        attachMediaElement(mediaElement: HTMLMediaElement): void;
        detachMediaElement(): void;
        load(): void;
        unload(): void;
        play(): void;
        pause(): void;
        buffered: TimeRanges;
        duration: number;
        volume: number;
        muted: boolean;<commit_msg>flv.d.ts: Add missing type field in Player interface<commit_after>// flv.js TypeScript definition file

declare namespace FlvJs {

    interface MediaSegment {
        duration: number,
        filesize?: number,
        url: string
    }

    interface MediaDataSource {
        type: string,
        isLive?: boolean,
        cors?: boolean,
        withCredentials?: boolean,

        duration?: number;
        filesize?: number;
        url?: string;

        segments?: Array<MediaSegment>
    }

    interface Config {
        enableWorker?: boolean,
        enableStashBuffer?: boolean,
        stashInitialSize?: number,

        isLive?: boolean,

        lazyLoad?: boolean,
        lazyLoadMaxDuration?: number,
        deferLoadAfterSourceOpen?: boolean,

        statisticsInfoReportInterval?: number,

        accurateSeek?: boolean,
        seekType?: string,  // [range, param, custom]
        seekParamStart?: string,
        seekParamEnd?: string,
        rangeLoadZeroStart?: boolean,
        customSeekHandler?: any
    }

    interface FeatureList {
        mseFlvPlayback: boolean,
        mseLiveFlvPlayback: boolean,
        networkStreamIO: boolean,
        networkLoaderName: string,
        nativeMP4H264Playback: boolean,
        nativeWebmVP8Playback: boolean,
        nativeWebmVP9Playback: boolean
    }

    interface PlayerConstructor {
        new (mediaDataSource: MediaDataSource, config?: Config): Player;
    }

    interface Player {
        constructor: PlayerConstructor;
        destroy(): void;
        on(event: string, listener: Function): void;
        off(event: string, listener: Function): void;
        attachMediaElement(mediaElement: HTMLMediaElement): void;
        detachMediaElement(): void;
        load(): void;
        unload(): void;
        play(): void;
        pause(): void;
        type: string;
        buffered: TimeRanges;
        duration: number;
        volume: number;
        muted: boolean;
{'fraction_non_alphanumeric': 0.0886992500646496, 'fraction_numerical': 0.0031031807602792862, 'mean_word_length': 2.2835314091680816, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1400440', 'n_tokens_mistral': 1010, 'n_tokens_neox': 986, 'n_words': 264}