Пример #1
0
        void _updateSourceStream(ImageStream newStream)
        {
            if (_imageStream?.key == newStream?.key)
            {
                return;
            }

            if (_isListeningToStream)
            {
                _imageStream.removeListener(_getListener());
            }

            if (!widget.gaplessPlayback)
            {
                setState(() => { _imageInfo = null; });
            }

            setState(() => {
                _loadingProgress        = null;
                _frameNumber            = 0;
                _wasSynchronouslyLoaded = false;
            });

            _imageStream = newStream;
            if (_isListeningToStream)
            {
                _imageStream.addListener(_getListener());
            }
        }
Пример #2
0
 void _handleImageFrame(ImageInfo imageInfo, bool synchronousCall)
 {
     setState(() => {
         _imageInfo               = imageInfo;
         _loadingProgress         = null;
         _frameNumber             = _frameNumber == null ? 0 : _frameNumber + 1;
         _wasSynchronouslyLoaded |= synchronousCall;
     });
 }
Пример #3
0
 void _handleImageChunk(ImageChunkEvent _event)
 {
     D.assert(widget.loadingBuilder != null);
     setState(() => { _loadingProgress = _event; });
 }