@BristlyStarling

Chrome. Asp.net / PushStreamContent. Почему стриминг видео прекращаеться?

Api:
public HttpResponseMessage Get(string id)
        {
            var video = new VideoStream(id);
            var response = Request.CreateResponse();
            response.Content = new PushStreamContent((Action<Stream, HttpContent, TransportContext>)video.WriteToStream, new MediaTypeHeaderValue("video/webm"));
            response.Content.LoadIntoBufferAsync();
            return response;
        }

Video Stream:
public async void WriteToStream(Stream outputStream, HttpContent content, TransportContext context)
        {
            try
            {
                byte[] buffer;

                var f = File.Open(_filename, FileMode.Open, FileAccess.Read);
                if (f != null)
                    buffer = new byte[f.Length];
                else
                    buffer = new byte[Int32.MaxValue];

                f.Close();

                using (var video = File.Open(_filename, FileMode.Open, FileAccess.Read))
                {
                        var length = (int)video.Length;
                        var bytesRead = 1;
                       
                        while (length > 0 && bytesRead > 0)
                        {
                            bytesRead = video.Read(buffer, 0, Math.Min(length, buffer.Length));
                            await outputStream.WriteAsync(buffer, 0, bytesRead);
                            length -= bytesRead;
                        }
                        video.Close();
                        video.Dispose();
                }
            }
            catch
            {
                throw;             
            }
            finally
            {
               outputStream.Close();
            }
        }

Если видео больше 2 метров, хром отправляет повторный запрос по окончанию ролика. Была проблема The remote host closed the connection. The error code is 0x80070040 Решилась увеличением executionTimeout.
Но вот почему повторная передача потока не происходит?
  • Вопрос задан
  • 594 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы