mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
54 lines
2.2 KiB
Plaintext
54 lines
2.2 KiB
Plaintext
// Copyright 2014 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
module media.mojom;
|
|
|
|
import "media/mojo/interfaces/media_types.mojom";
|
|
|
|
// DemuxerStream is modeled after media::DemuxerStream using mojo in order to
|
|
// enable proxying between a media::Pipeline and media::Renderer living in two
|
|
// different applications.
|
|
interface DemuxerStream {
|
|
// See media::DemuxerStream for descriptions.
|
|
[Native]
|
|
enum Type;
|
|
|
|
// See media::DemuxerStream for descriptions.
|
|
[Native]
|
|
enum Status;
|
|
|
|
// Initializes the DemuxerStream. Read() can only be called after the callback
|
|
// is received. The returned |pipe| will be used to fill out the data section
|
|
// of the media::DecoderBuffer returned via DemuxerStream::Read(). Only the
|
|
// config for |type| should be non-null, which is the initial config of the
|
|
// stream.
|
|
Initialize() => (Type type,
|
|
handle<data_pipe_consumer> pipe,
|
|
AudioDecoderConfig? audio_config,
|
|
VideoDecoderConfig? video_config);
|
|
|
|
// Requests a DecoderBuffer from this stream for decoding and rendering.
|
|
// See media::DemuxerStream::ReadCB for a general explanation of the fields.
|
|
//
|
|
// Notes on the callback:
|
|
// - If |status| is OK, |buffer| should be non-null and clients must fill out
|
|
// the data section of the returned media::DecoderBuffer by reading from
|
|
// the |pipe| provided during Initialize().
|
|
// - If |status| is ABORTED, all other fields should be null.
|
|
// - If |status| is CONFIG_CHANGED, the config for the stream type should be
|
|
// non-null.
|
|
//
|
|
// TODO(dalecurtis): Remove this method in favor of serializing everything
|
|
// into the DataPipe given to Initialize() once DataPipe supports framed data
|
|
// in a nicer fashion.
|
|
Read() => (Status status,
|
|
DecoderBuffer? buffer,
|
|
AudioDecoderConfig? audio_config,
|
|
VideoDecoderConfig? video_config);
|
|
|
|
// Enables converting bitstream to a format that is expected by the decoder.
|
|
// For example, H.264/AAC bitstream based packets into H.264 Annex B format.
|
|
EnableBitstreamConverter();
|
|
};
|