Module tải phân đoạn

Một phần của tài liệu đồ án mpeg dash – chuẩn công nghệ mới nhất hỗ trợ streaming thích ứng động qua http (Trang 72 - 73)

Các module tải phân đoạn chịu trách nhiệm cho việc mở các kết nối HTTP để lấy các phân đoạn khả dụng. Nó sẽ gửi yêu cầu HTTP và đợi phản hồi tương ứng, kiểm tra

các tiêu đề HTTP và mã đáp ứng trong phản hồi. Khi kết nối được mở ra, dòng byte nhận được chuyển đến một bộ đệm để lưu trữ các tập tin truyền thông. Mặc dù hệ thống Android hỗ trợ streaming tiến bộ HTTP, tuy nhiên điều này vẫn cần thiết để tải trước các phân đoạn để tránh một lần tạm dừng vì phát lại đã bắt đầu. Ngay sau khi một phân đoạn mới được lưu trữ trong bộ đệm, module này thực hiện hai hành động sau:

1. Nó chuyển đổi các tập tin truyền thông vào một định dạng được hỗ trợ nếu cần thiết. Điều này xảy ra khi phân đoạn Apple-HLS được chứa trong các định dạng MPEG-TS, vì chúng không có thể được trực tiếp chơi bởi Stagefright. Tác vụ này được thực hiện bởi các module chuyển đổi mã.

2. Nó kiểm tra các tập tin truyền thông bằng cách sử dụng player nền (giả), mà không bị ràng buộc vào bất kỳ SurfaceView. Player giả này chỉ đơn giản là chuẩn bị phân đoạn và kích hoạt các phương pháp nghe onPrepared () và onerror (). Nếu có một lỗi khi chuẩn bị phân đoạn đặc biệt, khi đó các module sẽ cố gắng để tải về phân đoạn này thêm một lần nữa. Nếu một lỗi vẫn còn tồn tại, phần mềm sẽ bỏ qua phân đoạn này. Nếu bộ đệm không trống thì phân đoạn tiếp theo sẽ được chơi. Nếu không, một bánh xe động đệm được hiển thị cho người dùng để cho biết rằng việc phát lại đã bị tạm dừng.

Các phân đoạn video được tải thành công được thêm vào danh mục. Danh sách này được biểu diễn là một bảng với hai cột: Thời gian phát ước tính (tương đối) và tên tập tin (đường dẫn) tới các phân đoạn truyền thông.

Một phần của tài liệu đồ án mpeg dash – chuẩn công nghệ mới nhất hỗ trợ streaming thích ứng động qua http (Trang 72 - 73)