<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>22052</bug_id>
          
          <creation_ts>2013-05-15 19:59:51 +0000</creation_ts>
          <short_desc>Report statistics on errored video frames</short_desc>
          <delta_ts>2013-06-01 21:41:12 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>Media Source Extensions</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>PRE_LAST_CALL</status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Watson">watsonm</reporter>
          <assigned_to name="Aaron Colwell">acolwell</assigned_to>
          <cc>acolwell</cc>
    
    <cc>cyril.concolato</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-media</cc>
    
    <cc>silviapfeiffer1</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>87736</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Watson">watsonm</who>
    <bug_when>2013-05-15 19:59:51 +0000</bug_when>
    <thetext>We have found that in a system which is sufficiently large scale, things which &quot;cannot possibly happen&quot;, do happen.

For example, media data which has been checksummed at the server and delivered over reliable connections sometimes suffers from data corruption, causing errors in the video decoder. Another possibility is that a media file is not in fact compliant to the codec profile that it claims to be, although in our system this is either less common or doesn&apos;t cause errors.

We would like to be able to detect and report on these cases.

One proposal would be to add an &apos;erroredFrames&apos; counter to the MediaPlaybackQuality object.

Errored frames may either be rendered (with errors) or dropped based on the media player implementation. We should discuss whether dropped errored frames (where the error is due to the input data, not lack of time to complete decoding) should be included in the dropped frames counter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87741</commentid>
    <comment_count>1</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2013-05-15 22:02:47 +0000</bug_when>
    <thetext>Aren&apos;t those thing generally called &quot;corrupted frames&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88151</commentid>
    <comment_count>2</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2013-05-23 18:31:05 +0000</bug_when>
    <thetext>Marking all pre-Last Call bugs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88333</commentid>
    <comment_count>3</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2013-05-28 23:48:57 +0000</bug_when>
    <thetext>I like Silvia&apos;s suggestion of using the word corrupt instead of errored.

How about this:

partial interface MediaPlaybackQuality {
   readonly    attribute unsigned long       corruptedVideoFrames;
}

This counter is incremented when a corrupted frame is detected. This may be pre or post decode. Corrupted frames increment totalVideoFrames just like dropped frames do. If the corrupted frame is not displayed then it increments the droppedVideoFrames counter just like it would if the frame was not corrupted. 

I think keeping &quot;dropped&quot; and &quot;corrupted&quot; counters independent allow the application to determine how exactly the corruption is affecting the user experience. (ie lower frame rate vs. visible artifacts)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88544</commentid>
    <comment_count>4</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2013-06-01 21:41:12 +0000</bug_when>
    <thetext>Changes committed
https://dvcs.w3.org/hg/html-media/rev/1ac9c2205a7b</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>