Closed Bug 591200 Opened 10 years ago Closed 2 years ago

It should be possible to hook additional media codecs into nsHTMLMediaElement

Categories

(Core :: Audio/Video: Playback, defect)

defect
Not set

Tracking

()

RESOLVED INACTIVE

People

(Reporter: jap, Unassigned)

References

Details

No description provided.
It should be possible to hook additional media codecs into nsHTMLMediaElement, for example via extensions.

The media codecs should be described by an implementation of an interface like

class nsIMediaCodec {
  virtual PRBool IsType(const nsACString& aType) const = 0;
  virtual nsHTMLMediaElement::CanPlayStatus 
          CanHandleMediaType(const char* aMIMEType,
                             char const *const ** aCodecList) const = 0;
  virtual already_AddRefed<nsMediaDecoder>
          CreateDecoder() = 0;
};

and it should be possible to register such media codes to nsHTMLMediaElement.

One could also use that for the builtin decoders and clean up the code a bit.
Blocks: 583135
Summary: It should be possible to hook extensions int nsHTMLMediaElement → It should be possible to hook additional media codecs into nsHTMLMediaElement
OS: Linux → All
Hardware: x86_64 → All
The interface would have to be *a lot* more complicated than that. Also, we keep changing the interface as we implement more of the HTML5 spec. There is no way we are going to provide a stable interface.

You can implement nsMediaDecoder and patch that directly into our code, though.
(The GStreamer integration work is a much more realistic way to provide codec extensibility.)
Component: Audio/Video → Audio/Video: Playback
Mass closing do to inactivity.
Feel free to re-open if still needed.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.