| // Copyright 2016 The Fuchsia 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; |
| |
| import "lib/media/fidl/audio_renderer.fidl"; |
| import "lib/media/fidl/media_capturer.fidl"; |
| import "lib/media/fidl/media_player.fidl"; |
| import "lib/media/fidl/media_renderer.fidl"; |
| import "lib/media/fidl/media_sink.fidl"; |
| import "lib/media/fidl/media_source.fidl"; |
| import "lib/media/fidl/media_type_converter.fidl"; |
| import "lib/media/fidl/media_types.fidl"; |
| import "lib/media/fidl/seeking_reader.fidl"; |
| import "lib/media/fidl/timeline_controller.fidl"; |
| import "lib/media/fidl/video_renderer.fidl"; |
| |
| // Primary media service definition. |
| [ServiceName="media::MediaService"] |
| interface MediaService { |
| // Creates a player that reads from a file specified by channel. |
| CreateFilePlayer@0(handle<channel> file_channel, |
| MediaRenderer? audio_renderer, |
| MediaRenderer? video_renderer, |
| MediaPlayer& player); |
| |
| // Creates a player that reads from a seeking reader. |
| CreatePlayer@1(SeekingReader? reader, |
| MediaRenderer? audio_renderer, |
| MediaRenderer? video_renderer, |
| MediaPlayer& player); |
| |
| // Creates a source. If allowed_media_types is supplied, conversions will be |
| // added to each stream as needed to make the media type of the stream match |
| // one of the allowed types. If a stream cannot be converted to one of the |
| // allowed types, the source will not expose that stream. |
| CreateSource@2(SeekingReader reader, |
| array<MediaTypeSet>? allowed_media_types, |
| MediaSource& source); |
| |
| // Creates a sink. |
| CreateSink@3(MediaRenderer renderer, MediaSink& sink); |
| |
| // Creates a demux. |
| CreateDemux@4(SeekingReader reader, MediaSource& demux); |
| |
| // Creates a decoder. |
| CreateDecoder@5(MediaType input_media_type, MediaTypeConverter& decoder); |
| |
| // Creates a network reader. |
| CreateNetworkReader@6(string url, SeekingReader& reader); |
| |
| // Creates an audio renderer. |
| CreateAudioRenderer@7(AudioRenderer& audio_renderer, |
| MediaRenderer& media_renderer); |
| |
| // Creates a video renderer. |
| CreateVideoRenderer@8(VideoRenderer& video_renderer, |
| MediaRenderer& media_renderer); |
| |
| // Creates a timeline controller reader. |
| CreateTimelineController@9(MediaTimelineController& timeline_controller); |
| |
| // Creates a reformatter for LPCM audio. |
| CreateLpcmReformatter@10(MediaType input_media_type, |
| AudioSampleFormat output_sample_format, |
| MediaTypeConverter& lpcm_reformatter); |
| }; |