[Bug 17082] Discuss whether Media Source methods should be in separate object

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17082

Aaron Colwell <acolwell@chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P1

--- Comment #5 from Aaron Colwell <acolwell@chromium.org> 2012-05-29 18:35:36 UTC ---
How about something along these lines? I've included the url based append
signature from Bug 16998 and string enums suggested in Bug 16938. 

interface SourceBuffer : EventTarget {
  // Returns the time ranges buffered.
  readonly attribute TimeRanges buffered;

  // Append segment data.
  void append(DOMString url, 
              optional unsigned long long start, 
              optional unsigned long long length);

  // Abort the current segment append sequence.
  void abort();

  enum EndOfStreamError { "network", "decode" };
  void endOfStream(optional EndOfStreamError error);

  [TreatNonCallableAsNull] attribute Function? onappenddone;
  [TreatNonCallableAsNull] attribute Function? onappenderror;
};

interface SourceBufferList : EventTarget {
  readonly attribute unsigned long length;
  getter SourceBuffer (unsigned long index);
  void remove(SourceBuffer buffer);

  [TreatNonCallableAsNull] attribute Function? onaddsourcebuffer;
  [TreatNonCallableAsNull] attribute Function? onremovesourcebuffer;
};

[Constructor (DOMString type)]
interface MediaSource : EventTarget {
  readonly attribute SourceBufferList buffers;

  // Adds another source buffer.
  SourceBuffer addSourceBuffer(DOMString type);

  enum State { "closed", "open", "ended" };
  readonly attribute State readyState;

  [TreatNonCallableAsNull] attribute Function? onsourceclosed;
  [TreatNonCallableAsNull] attribute Function? onsourceopen;
  [TreatNonCallableAsNull] attribute Function? onsourceended;
};

Associating the MediaSource with a <video> would be similar to
LocalMediaStream.
1. Create a MediaSource object.
2. Use createObjectURL() to get a blob URL for the MediaSource object.
3. Assign the blob URL to HTMLMediaElement.src.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 29 May 2012 18:35:44 UTC