media: Request 1MB chunks for direct media streaming

The default is 512kB and the RPC request overhead has more impact
on download speed than having half smaller chunks.

Next level speed improvement would be to use parallel downloads and
have an on-disk buffer to stream out the rebuilt file on-the-fly when
we consistent stream of data available.
This commit is contained in:
Toni Spets
2025-04-28 12:35:47 +03:00
parent 7c13481ede
commit 483816cc2b
+1 -1
View File
@@ -333,7 +333,7 @@ func (t *ReadyTransferer) Transfer(ctx context.Context, store *store.Container,
// Stream streams the media from Telegram to an [io.Reader].
func (t *ReadyTransferer) Stream(ctx context.Context) (r io.Reader, mimeType string, fileSize int, err error) {
var storageFileTypeClass tg.StorageFileTypeClass
storageFileTypeClass, r, err = downloader.NewDownloader().Download(t.inner.client, t.loc).StreamToReader(ctx)
storageFileTypeClass, r, err = downloader.NewDownloader().WithPartSize(1024*1024).Download(t.inner.client, t.loc).StreamToReader(ctx)
if err != nil {
return nil, "", 0, err
}