Hello, this is my first post here.
Sometimes Video player component unpauses by itself. I do not set control field, when observers are set to observe fields control and state i receive something like that:
m.Video.observeField("state", "videoStateHandler")
m.Video.observeField("control", "videoControlHandler")
sub videoControlHandler(event)
? "videoControlHandler", event.getData()
end sub
sub videoStateHandler(event)
? "videoStateHandler", event.getData()
end sub
and i get (in logs):
videoControlHandler pause
videoControlHandler resume
videoStateHandler buffering
videoStateHandler playing
videoControlHandler pause
videoStateHandler paused
videoStateHandler playing
videoControlHandler pause
videoStateHandler paused
videoStateHandler playing
So we can see here that i cannot effectively pause the video (after setting control field
to “pause” player automatically returns to the playing state).
Details:
Device: Roku premiere - 3920EU
Video format: DASH
Problem touches only Live / Restarted live events. Parts of manifest files below:
<?xml version="1.0" encoding="UTF-8" ?>
<MPD profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" availabilityStartTime="2021-12-13T13:06:06Z" minimumUpdatePeriod="PT2.0S" minBufferTime="PT2.0S" publishTime="2022-03-10T10:50:04Z" timeShiftBufferDepth="PT6M" suggestedPresentationDelay="PT2.0S" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd">
<Period start="PT0S" id="1">
<AdaptationSet mimeType="video/mp4" startWithSAP="1" segmentAlignment="true">
<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="e7266e5a-33fe-32f4-9283-3dca5e32c6cd"></ContentProtection>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAS3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACsIARIQ5yZuWjP+MvSSgz3KXjLGzSIVYmFza2V0YmFsbGxlYWd1ZV9kYXNo</cenc:pssh></ContentProtection>
<SegmentTemplate timescale="10000000" presentationTimeOffset="0" media="$RepresentationID$_Segment-$Time$.m4v" initialization="$RepresentationID$_init.m4i">
<SegmentTimeline>
<S t="75082865928370" d="20000000" r="179" />
</SegmentTimeline>
</SegmentTemplate>
<Representation width="768" height="432" frameRate="25" codecs="avc1.640029" scanType="progressive" id="1639400758168item-01item" bandwidth="1100000" />
<Representation width="768" height="432" frameRate="25" codecs="avc1.640029" scanType="progressive" id="1639400758168item-02item" bandwidth="1700000" />
<Representation width="1280" height="720" frameRate="25" codecs="avc1.640029" scanType="progressive" id="1639400758168item-03item" bandwidth="2100000" />
<Representation width="1280" height="720" frameRate="25" codecs="avc1.640029" scanType="progressive" id="1639400758168item-04item" bandwidth="2500000" />
</AdaptationSet>
<AdaptationSet mimeType="audio/mp4" startWithSAP="1" lang="heb" segmentAlignment="true">
<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="e7266e5a-33fe-32f4-9283-3dca5e32c6cd"></ContentProtection>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"><cenc:pssh xmlns:cenc="urn:mpeg:cenc:2013">AAAAS3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACsIARIQ5yZuWjP+MvSSgz3KXjLGzSIVYmFza2V0YmFsbGxlYWd1ZV9kYXNo</cenc:pssh></ContentProtection>
<SegmentTemplate timescale="10000000" presentationTimeOffset="0" media="$RepresentationID$_Segment-$Time$.m4a" initialization="$RepresentationID$_init.m4i">
<SegmentTimeline>
<S t="75082866154620" d="20053333" r="1" />
<S t="75082906261286" d="20053334" />
# many segments was cut here intentionally
<S t="75086426261286" d="20053334" />
<S t="75086446314620" d="19626666" />
</SegmentTimeline>
</SegmentTemplate>
<Representation audioSamplingRate="48000" codecs="mp4a.40.5" id="1639400758168item-05item" bandwidth="40000" />
</AdaptationSet>
</Period>
</MPD>
The same happens in ROKU stream tester!
