mirror of
https://github.com/sakaljurgis/kodi-api-server.git
synced 2026-07-08 20:37:41 +00:00
refactor streamer to use stream providers (e.g. to plugin web torrent)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import { ReadStreamCreatable } from '../Interface/read-stream-creatable.interface';
|
||||
import { FileEntity } from '../../VideoFiles/Entity/file.entity';
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { ReadStreamCreatableProviderInterface } from './read-stream-creatable-provider.interface';
|
||||
|
||||
export const ReadStreamCreatableProviders = 'ReadStreamCreatableProviders';
|
||||
|
||||
@Injectable()
|
||||
export class ReadStreamCreatableProvider {
|
||||
constructor(
|
||||
@Inject(ReadStreamCreatableProviders)
|
||||
private providers: Array<ReadStreamCreatableProviderInterface>,
|
||||
) {}
|
||||
getReadStreamCreatable(fileEntity: FileEntity): Promise<ReadStreamCreatable> {
|
||||
for (const provider of this.providers) {
|
||||
if (provider.supports(fileEntity)) {
|
||||
return provider.getReadStreamCreatable(fileEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user