<?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>24709</bug_id>
          
          <creation_ts>2014-02-18 08:50:48 +0000</creation_ts>
          <short_desc>WebVTT: make &quot;region&quot; definitions like NOTE s</short_desc>
          <delta_ts>2015-11-05 12:56:10 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>TextTracks CG</product>
          <component>WebVTT</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>MOVED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>v1</status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Silvia Pfeiffer">silviapfeiffer1</reporter>
          <assigned_to name="This bug has no owner yet - up for the taking">dave.null</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>lorettaguarino</cc>
    
    <cc>philipj</cc>
    
    <cc>silviapfeiffer1</cc>
    
    <cc>singer</cc>
    
    <cc>zcorpan</cc>
          
          <qa_contact name="Web Media Text Tracks CG">public-texttracks</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100794</commentid>
    <comment_count>0</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2014-02-18 08:50:48 +0000</bug_when>
    <thetext>Moving region definitions out of the WebVTT header into the &quot;body&quot; could allow us to redefine existing regions (as is necessary sometimes for CEA708) and define new regions dynamically during the cause of the file (as is necessary sometimes with live streaming).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100810</commentid>
    <comment_count>1</comment_count>
    <who name="David Singer">singer</who>
    <bug_when>2014-02-18 18:16:10 +0000</bug_when>
    <thetext>But of course that&apos;s one reason it&apos;s defined like it is...exactly so that there are no &apos;surprises&apos; in the middle of the stream.  We need to find a balance here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100834</commentid>
    <comment_count>2</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2014-02-19 01:25:32 +0000</bug_when>
    <thetext>What &quot;surprises&quot; are you concerned about?

It&apos;s common for CEA708 captions that a block of captions moves to a different location. We can&apos;t do that without the ability to change a region definition.
Their timing would need to be attributed to the next cue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100865</commentid>
    <comment_count>3</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2014-02-19 10:07:40 +0000</bug_when>
    <thetext>I rather strongly support changing the syntax to be NOTE-like, but that&apos;s not enough for changing regions dynamically -- that would require attaching timing information as well. Is that really common enough that it needs to have a declarative solution?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100937</commentid>
    <comment_count>4</comment_count>
    <who name="David Singer">singer</who>
    <bug_when>2014-02-20 01:19:03 +0000</bug_when>
    <thetext>Actually a much better reason not to do this is random access.  At the moment, you can chunk up or random, access a VTT file using its header only as the initialization.  Once you introduce a state setting that persists, this is no longer possible, and you have to scan all the time from the beginning to know the current state at any time.

Say, for example, we do HTTP-chucnked streaming, and the content owner promises the (fairly simple) &quot;no cue has a time span the crosses a chunk boundary&quot;.  I can now random access given the header info, and then the chunk that spans the time I want to start at.  Introduce mutable regions and we either have to ban them in this case, or the file author has to replicate them at the front of every chunk, or other hacky things...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100940</commentid>
    <comment_count>5</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2014-02-20 02:49:39 +0000</bug_when>
    <thetext>(In reply to David Singer from comment #4)
&gt; Actually a much better reason not to do this is random access.  At the
&gt; moment, you can chunk up or random, access a VTT file using its header only
&gt; as the initialization.  Once you introduce a state setting that persists,
&gt; this is no longer possible, and you have to scan all the time from the
&gt; beginning to know the current state at any time.
&gt; 
&gt; Say, for example, we do HTTP-chucnked streaming, and the content owner
&gt; promises the (fairly simple) &quot;no cue has a time span the crosses a chunk
&gt; boundary&quot;.  I can now random access given the header info, and then the
&gt; chunk that spans the time I want to start at.  Introduce mutable regions and
&gt; we either have to ban them in this case, or the file author has to replicate
&gt; them at the front of every chunk, or other hacky things...

We discussed that at FOMS and it seemed that this case can be addressed by adding the currently active region definitions to every chunck. Since the chunks are normally created by tools, that should not cause any extra trouble. Right now, the regions have to be made available anyway and I was told that HLS was going to copy the region definitions into every chunk anyway. So, there&apos;s not really any extra overhead for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100976</commentid>
    <comment_count>6</comment_count>
    <who name="David Singer">singer</who>
    <bug_when>2014-02-20 18:22:10 +0000</bug_when>
    <thetext>If the tool is willing to replicate the header info into every chunk, and is willing to make sure that the chunk boundaries don&apos;t intersect a cue duration, then each chunk can as easily be a separate VTT file;  and it&apos;s then clear what&apos;s happening (that the chunks stand alone, since that is a characteristic of VTT).

If I can add the &apos;header info&apos; I can also add the WebVTT line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101077</commentid>
    <comment_count>7</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2014-02-21 00:22:48 +0000</bug_when>
    <thetext>(In reply to David Singer from comment #6)
&gt; If the tool is willing to replicate the header info into every chunk, and is
&gt; willing to make sure that the chunk boundaries don&apos;t intersect a cue
&gt; duration, then each chunk can as easily be a separate VTT file;  and it&apos;s
&gt; then clear what&apos;s happening (that the chunks stand alone, since that is a
&gt; characteristic of VTT).
&gt; 
&gt; If I can add the &apos;header info&apos; I can also add the WebVTT line.

IIUC that&apos;s already how HLS is dealing with WebVTT.

For example, see these:
* the M2U8 file
http://cdnbakmi.kaltura.com/api_v3/index.php/service/caption_captionasset/action/serveWebVTT/captionAssetId/0_ucxlurda/a.m3u8

* the referenced 1.vtt file
http://cdnbakmi.kaltura.com/api_v3/index.php/service/caption_captionasset/action/serveWebVTT/captionAssetId/0_ucxlurda/segmentIndex/1.vtt

* the referenced 2.vtt file
http://cdnbakmi.kaltura.com/api_v3/index.php/service/caption_captionasset/action/serveWebVTT/captionAssetId/0_ucxlurda/segmentIndex/2.vtt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124088</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2015-11-05 12:56:10 +0000</bug_when>
    <thetext>https://github.com/w3c/webvtt/issues/231

As far as I can tell from the discussion, having region definitions mixed with cues doesn&apos;t help streaming compared to using separate VTT files when region definitions change in a stream, so that aspect is WORKSFORME but we still want to change the syntax.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>