mpegts.js
Version:
HTML5 MPEG2-TS Stream Player
101 lines (87 loc) • 3.1 kB
text/typescript
/*
* Copyright (C) 2023 zheng qian. All Rights Reserved.
*
* @author zheng qian <xqq@xqq.im>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import MSEEvents from '../core/mse-events';
import PlayerEvents from './player-events';
import TransmuxingEvents from '../core/transmuxing-events';
export type WorkerMessageType =
| 'destroyed'
| 'mse_init'
| 'mse_event'
| 'player_event'
| 'transmuxing_event'
| 'buffered_position_changed'
| 'logcat_callback';
export type WorkerMessagePacket = {
msg: WorkerMessageType,
};
export type WorkerMessagePacketMSEInit = WorkerMessagePacket & {
msg: 'mse_init',
handle: any,
};
export type WorkerMessagePacketMSEEvent = WorkerMessagePacket & {
msg: 'mse_event',
event: MSEEvents,
};
export type WorkerMessagePacketPlayerEvent = WorkerMessagePacket & {
msg: 'player_event',
event: PlayerEvents,
};
export type WorkerMessagePacketPlayerEventError = WorkerMessagePacketPlayerEvent & {
msg: 'player_event',
event: PlayerEvents.ERROR,
error_type: string,
error_detail: string,
info: any,
};
export type WorkerMessagePacketPlayerEventExtraData = WorkerMessagePacketPlayerEvent & {
msg: 'player_event',
event:
| PlayerEvents.METADATA_ARRIVED
| PlayerEvents.SCRIPTDATA_ARRIVED
| PlayerEvents.TIMED_ID3_METADATA_ARRIVED
| PlayerEvents.SYNCHRONOUS_KLV_METADATA_ARRIVED
| PlayerEvents.ASYNCHRONOUS_KLV_METADATA_ARRIVED
| PlayerEvents.SMPTE2038_METADATA_ARRIVED
| PlayerEvents.SCTE35_METADATA_ARRIVED
| PlayerEvents.PES_PRIVATE_DATA_DESCRIPTOR
| PlayerEvents.PES_PRIVATE_DATA_ARRIVED,
extraData: any,
};
export type WorkerMessagePacketTransmuxingEvent = WorkerMessagePacket & {
msg: 'transmuxing_event',
event: TransmuxingEvents,
};
export type WorkerMessagePacketTransmuxingEventInfo = WorkerMessagePacketTransmuxingEvent & {
msg: 'transmuxing_event',
event: TransmuxingEvents.MEDIA_INFO | TransmuxingEvents.STATISTICS_INFO,
info: any,
};
export type WorkerMessagePacketTransmuxingEventRecommendSeekpoint = WorkerMessagePacketTransmuxingEvent & {
msg: 'transmuxing_event',
event: TransmuxingEvents.RECOMMEND_SEEKPOINT,
milliseconds: number,
};
export type WorkerMessagePacketBufferedPositionChanged = WorkerMessagePacket & {
msg: 'buffered_position_changed',
buffered_position_milliseconds: number,
};
export type WorkerMessagePacketLogcatCallback = WorkerMessagePacket & {
msg: 'logcat_callback',
type: string,
logcat: string,
};