diff --git a/src/api/gramjs/methods/media.ts b/src/api/gramjs/methods/media.ts index 65e09d3cb..79637491f 100644 --- a/src/api/gramjs/methods/media.ts +++ b/src/api/gramjs/methods/media.ts @@ -33,7 +33,7 @@ export default async function downloadMedia( ) { const { data, mimeType, fullSize, - } = await download(url, client, onProgress, start, end, mediaFormat, isHtmlAllowed) || {}; + } = await download(url, client, onProgress, start, end, isHtmlAllowed) || {}; if (!data) { return undefined; @@ -75,7 +75,6 @@ async function download( onProgress?: ApiOnProgress, start?: number, end?: number, - mediaFormat?: ApiMediaFormat, isHtmlAllowed?: boolean, ) { const parsed = parseMediaUrl(url); @@ -146,10 +145,6 @@ async function download( } if (MEDIA_ENTITY_TYPES.has(entityType)) { - if (mediaFormat === ApiMediaFormat.Stream) { - onProgress!.acceptsBuffer = true; - } - const data = await client.downloadMedia(entity, { sizeType, start, end, progressCallback: onProgress, workers: DOWNLOAD_WORKERS, }); diff --git a/src/api/types/media.ts b/src/api/types/media.ts index 3ce41c50a..f10ea9278 100644 --- a/src/api/types/media.ts +++ b/src/api/types/media.ts @@ -4,7 +4,6 @@ export enum ApiMediaFormat { BlobUrl, Progressive, - Stream, DownloadUrl, Text, } diff --git a/src/api/types/misc.ts b/src/api/types/misc.ts index dcabf558b..0c7cfb852 100644 --- a/src/api/types/misc.ts +++ b/src/api/types/misc.ts @@ -24,7 +24,6 @@ export interface ApiOnProgress { ): void; isCanceled?: boolean; - acceptsBuffer?: boolean; } export interface ApiAttachment { diff --git a/src/hooks/useMediaWithLoadProgress.ts b/src/hooks/useMediaWithLoadProgress.ts index 635de0e59..83644e9f9 100644 --- a/src/hooks/useMediaWithLoadProgress.ts +++ b/src/hooks/useMediaWithLoadProgress.ts @@ -21,9 +21,7 @@ export default function useMediaWithLoadProgress( isHtmlAllowed = false, ) { const mediaData = mediaHash ? mediaLoader.getFromMemory(mediaHash) : undefined; - const isStreaming = mediaFormat === ApiMediaFormat.Stream || ( - IS_PROGRESSIVE_SUPPORTED && mediaFormat === ApiMediaFormat.Progressive - ); + const isStreaming = IS_PROGRESSIVE_SUPPORTED && mediaFormat === ApiMediaFormat.Progressive; const forceUpdate = useForceUpdate(); const id = useUniqueId(); const [loadProgress, setLoadProgress] = useState(mediaData && !isStreaming ? 1 : 0); diff --git a/src/lib/gramjs/client/downloadFile.ts b/src/lib/gramjs/client/downloadFile.ts index ddf6c00a0..a0214e382 100644 --- a/src/lib/gramjs/client/downloadFile.ts +++ b/src/lib/gramjs/client/downloadFile.ts @@ -9,8 +9,6 @@ import { Foreman } from '../../../util/foreman'; interface OnProgress { isCanceled?: boolean; - acceptsBuffer?: boolean; - ( progress: number, // Float between 0 and 1. ...args: any[] diff --git a/src/util/PostMessageConnector.ts b/src/util/PostMessageConnector.ts index ca1333e10..8f8e22a49 100644 --- a/src/util/PostMessageConnector.ts +++ b/src/util/PostMessageConnector.ts @@ -6,7 +6,6 @@ export interface CancellableCallback { ): void; isCanceled?: boolean; - acceptsBuffer?: boolean; } type InitData = { diff --git a/src/util/mediaLoader.ts b/src/util/mediaLoader.ts index 1642ae98f..3722c866f 100644 --- a/src/util/mediaLoader.ts +++ b/src/util/mediaLoader.ts @@ -24,7 +24,6 @@ const asCacheApiType = { [ApiMediaFormat.Text]: cacheApi.Type.Text, [ApiMediaFormat.DownloadUrl]: undefined, [ApiMediaFormat.Progressive]: undefined, - [ApiMediaFormat.Stream]: undefined, }; const PROGRESSIVE_URL_PREFIX = `${IS_ELECTRON ? ELECTRON_HOST_URL : '.'}/progressive/`; @@ -157,29 +156,6 @@ async function fetchFromCacheOrRemote( } } - if (mediaFormat === ApiMediaFormat.Stream) { - const mediaSource = new MediaSource(); - const streamUrl = URL.createObjectURL(mediaSource); - let isOpen = false; - - mediaSource.addEventListener('sourceopen', () => { - if (isOpen) { - return; - } - isOpen = true; - - const sourceBuffer = mediaSource.addSourceBuffer('audio/mpeg'); - - const onProgress = makeOnProgress(url, mediaSource, sourceBuffer); - cancellableCallbacks.set(url, onProgress); - - void callApi('downloadMedia', { url, mediaFormat }, onProgress); - }); - - memoryCache.set(url, streamUrl); - return streamUrl; - } - const onProgress = makeOnProgress(url); cancellableCallbacks.set(url, onProgress); @@ -221,22 +197,12 @@ async function fetchFromCacheOrRemote( return prepared; } -function makeOnProgress(url: string, mediaSource?: MediaSource, sourceBuffer?: SourceBuffer) { - const onProgress: ApiOnProgress = (progress: number, arrayBuffer: ArrayBuffer) => { +function makeOnProgress(url: string) { + const onProgress: ApiOnProgress = (progress: number) => { progressCallbacks.get(url)?.forEach((callback) => { callback(progress); if (callback.isCanceled) onProgress.isCanceled = true; }); - - if (progress === 1) { - mediaSource?.endOfStream(); - } - - if (!arrayBuffer) { - return; - } - - sourceBuffer?.appendBuffer(arrayBuffer); }; return onProgress;