Ejemplo n.º 1
0
import asyncio
from typing import Optional

from dash_emulator import logger, events, config

log = logger.getLogger(__name__)


class SpeedMonitor(object):
    _instance = None

    def __new__(cls, *args, **kwargs):
        if not isinstance(cls._instance, cls):
            cls._instance = object.__new__(cls, *args, **kwargs)
            cls._instance.inited = False
        return cls._instance

    def __init__(self):
        if not self.inited:
            self.inited = True
            self.cfg = None

            self.avg_bandwidth = 0
            self.last_speed = -1

            self.downloaded = 0
            self.downloaded_before = 0
            self._calculate_speed_task = None  # type: Optional[asyncio.Task]

    async def calculate_speed(self):
        while True:
Ejemplo n.º 2
0
import operator
import os.path
import re
import xml.etree.ElementTree as ET
from typing import List, Optional
from urllib.parse import urlparse

from dash_emulator.logger import getLogger

log = getLogger(__name__)


class Representation(object):
    def __init__(self, tree, adapatationSet):
        self._id = None
        self._bandwidth = None
        self._width = None
        self._height = None
        self._mime = None
        self._codec = None

        self._adapatationSet = adapatationSet  # type: AdaptationSet

        self.initialization = None
        self.media = None
        self.startNumber = None

        self.durations = None  # type: Optional[List[float]]
        self.urls = None  # type: Optional[List[str]]

        self.baseurl = None