release: v3.0.0
This commit is contained in:
+11
-12
@@ -81,10 +81,10 @@ export const setupRtmpInstance = async ({
|
||||
player.load()
|
||||
|
||||
// Store player instance on video element for later access
|
||||
;(video as any).__rtmpInstance = player
|
||||
video.__rtmpInstance = player
|
||||
|
||||
// Event handlers
|
||||
player.on(flvjs.Events.ERROR, (errorType: string, errorDetail: string, errorInfo: any) => {
|
||||
player.on(flvjs.Events.ERROR, (errorType: string, errorDetail: string, errorInfo: unknown) => {
|
||||
logger.error('flv.js error:', { errorType, errorDetail, errorInfo })
|
||||
|
||||
const error = new Error(`FLV Player Error: ${errorType} - ${errorDetail}`)
|
||||
@@ -137,7 +137,7 @@ export const setupRtmpInstance = async ({
|
||||
logger.log('flv.js: Recovered from early EOF')
|
||||
})
|
||||
|
||||
player.on(flvjs.Events.METADATA_ARRIVED, (metadata: any) => {
|
||||
player.on(flvjs.Events.METADATA_ARRIVED, (metadata: Record<string, unknown>) => {
|
||||
logger.log('flv.js: Metadata arrived', metadata)
|
||||
|
||||
// Trigger onLoadedMetadata callback
|
||||
@@ -146,11 +146,11 @@ export const setupRtmpInstance = async ({
|
||||
}
|
||||
})
|
||||
|
||||
player.on(flvjs.Events.STATISTICS_INFO, (stats: any) => {
|
||||
player.on(flvjs.Events.STATISTICS_INFO, (stats: Record<string, unknown>) => {
|
||||
// Statistics info for debugging/monitoring
|
||||
// Can be used to display stream quality, bitrate, etc.
|
||||
if (stats) {
|
||||
;(video as any).__rtmpStats = stats
|
||||
video.__rtmpStats = stats
|
||||
}
|
||||
})
|
||||
|
||||
@@ -187,8 +187,8 @@ export const setupRtmpInstance = async ({
|
||||
player.destroy()
|
||||
|
||||
// Clean up stored references
|
||||
delete (video as any).__rtmpInstance
|
||||
delete (video as any).__rtmpStats
|
||||
delete video.__rtmpInstance
|
||||
delete video.__rtmpStats
|
||||
} catch (cleanupError) {
|
||||
logger.error('Error during flv.js cleanup:', cleanupError)
|
||||
}
|
||||
@@ -212,11 +212,11 @@ export const setupRtmpInstance = async ({
|
||||
* @param video - The video element
|
||||
* @returns The flv.js player instance or null
|
||||
*/
|
||||
export const getRtmpInstance = (video: HTMLVideoElement | null): any | null => {
|
||||
export const getRtmpInstance = (video: HTMLVideoElement | null): FlvjsPlayer | PlayerInstance | null => {
|
||||
if (!video) {
|
||||
return null
|
||||
}
|
||||
return (video as any).__rtmpInstance || null
|
||||
return video.__rtmpInstance ?? null
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -224,11 +224,11 @@ export const getRtmpInstance = (video: HTMLVideoElement | null): any | null => {
|
||||
* @param video - The video element
|
||||
* @returns The statistics object or null
|
||||
*/
|
||||
export const getRtmpStats = (video: HTMLVideoElement | null): any | null => {
|
||||
export const getRtmpStats = (video: HTMLVideoElement | null): Record<string, unknown> | null => {
|
||||
if (!video) {
|
||||
return null
|
||||
}
|
||||
return (video as any).__rtmpStats || null
|
||||
return video.__rtmpStats ?? null
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -239,4 +239,3 @@ export const getRtmpStats = (video: HTMLVideoElement | null): any | null => {
|
||||
export const hasRtmpInstance = (video: HTMLVideoElement | null): boolean => {
|
||||
return getRtmpInstance(video) !== null
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user