| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 library media_factory_mojom; | 5 library media_factory_mojom; |
| 6 import 'dart:async'; | 6 import 'dart:async'; |
| 7 import 'package:mojo/bindings.dart' as bindings; | 7 import 'package:mojo/bindings.dart' as bindings; |
| 8 import 'package:mojo/core.dart' as core; | 8 import 'package:mojo/core.dart' as core; |
| 9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic
e_describer; | 9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic
e_describer; |
| 10 import 'package:mojo_services/mojo/media/media_demux.mojom.dart' as media_demux_
mojom; | 10 import 'package:mojo_services/mojo/media/media_demux.mojom.dart' as media_demux_
mojom; |
| 11 import 'package:mojo_services/mojo/media/media_player.mojom.dart' as media_playe
r_mojom; | 11 import 'package:mojo_services/mojo/media/media_player.mojom.dart' as media_playe
r_mojom; |
| 12 import 'package:mojo_services/mojo/media/media_sink.mojom.dart' as media_sink_mo
jom; | 12 import 'package:mojo_services/mojo/media/media_sink.mojom.dart' as media_sink_mo
jom; |
| 13 import 'package:mojo_services/mojo/media/media_source.mojom.dart' as media_sourc
e_mojom; | 13 import 'package:mojo_services/mojo/media/media_source.mojom.dart' as media_sourc
e_mojom; |
| 14 import 'package:mojo_services/mojo/media/media_type_converter.mojom.dart' as med
ia_type_converter_mojom; | 14 import 'package:mojo_services/mojo/media/media_type_converter.mojom.dart' as med
ia_type_converter_mojom; |
| 15 import 'package:mojo_services/mojo/media/media_types.mojom.dart' as media_types_
mojom; | 15 import 'package:mojo_services/mojo/media/media_types.mojom.dart' as media_types_
mojom; |
| 16 import 'package:mojo_services/mojo/media/seeking_reader.mojom.dart' as seeking_r
eader_mojom; | 16 import 'package:mojo_services/mojo/media/seeking_reader.mojom.dart' as seeking_r
eader_mojom; |
| 17 import 'package:mojo_services/mojo/media/timeline_controller.mojom.dart' as time
line_controller_mojom; |
| 17 | 18 |
| 18 | 19 |
| 19 | 20 |
| 20 class _MediaFactoryCreatePlayerParams extends bindings.Struct { | 21 class _MediaFactoryCreatePlayerParams extends bindings.Struct { |
| 21 static const List<bindings.StructDataHeader> kVersions = const [ | 22 static const List<bindings.StructDataHeader> kVersions = const [ |
| 22 const bindings.StructDataHeader(24, 0) | 23 const bindings.StructDataHeader(24, 0) |
| 23 ]; | 24 ]; |
| 24 seeking_reader_mojom.SeekingReaderInterface reader = null; | 25 seeking_reader_mojom.SeekingReaderInterface reader = null; |
| 25 media_player_mojom.MediaPlayerInterfaceRequest player = null; | 26 media_player_mojom.MediaPlayerInterfaceRequest player = null; |
| 26 | 27 |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 "url: $url" ", " | 560 "url: $url" ", " |
| 560 "reader: $reader" ")"; | 561 "reader: $reader" ")"; |
| 561 } | 562 } |
| 562 | 563 |
| 563 Map toJson() { | 564 Map toJson() { |
| 564 throw new bindings.MojoCodecError( | 565 throw new bindings.MojoCodecError( |
| 565 'Object containing handles cannot be encoded to JSON.'); | 566 'Object containing handles cannot be encoded to JSON.'); |
| 566 } | 567 } |
| 567 } | 568 } |
| 568 | 569 |
| 570 |
| 571 class _MediaFactoryCreateTimelineControllerParams extends bindings.Struct { |
| 572 static const List<bindings.StructDataHeader> kVersions = const [ |
| 573 const bindings.StructDataHeader(16, 0) |
| 574 ]; |
| 575 timeline_controller_mojom.MediaTimelineControllerInterfaceRequest timelineCont
roller = null; |
| 576 |
| 577 _MediaFactoryCreateTimelineControllerParams() : super(kVersions.last.size); |
| 578 |
| 579 static _MediaFactoryCreateTimelineControllerParams deserialize(bindings.Messag
e message) { |
| 580 var decoder = new bindings.Decoder(message); |
| 581 var result = decode(decoder); |
| 582 if (decoder.excessHandles != null) { |
| 583 decoder.excessHandles.forEach((h) => h.close()); |
| 584 } |
| 585 return result; |
| 586 } |
| 587 |
| 588 static _MediaFactoryCreateTimelineControllerParams decode(bindings.Decoder dec
oder0) { |
| 589 if (decoder0 == null) { |
| 590 return null; |
| 591 } |
| 592 _MediaFactoryCreateTimelineControllerParams result = new _MediaFactoryCreate
TimelineControllerParams(); |
| 593 |
| 594 var mainDataHeader = decoder0.decodeStructDataHeader(); |
| 595 if (mainDataHeader.version <= kVersions.last.version) { |
| 596 // Scan in reverse order to optimize for more recent versions. |
| 597 for (int i = kVersions.length - 1; i >= 0; --i) { |
| 598 if (mainDataHeader.version >= kVersions[i].version) { |
| 599 if (mainDataHeader.size == kVersions[i].size) { |
| 600 // Found a match. |
| 601 break; |
| 602 } |
| 603 throw new bindings.MojoCodecError( |
| 604 'Header size doesn\'t correspond to known version size.'); |
| 605 } |
| 606 } |
| 607 } else if (mainDataHeader.size < kVersions.last.size) { |
| 608 throw new bindings.MojoCodecError( |
| 609 'Message newer than the last known version cannot be shorter than ' |
| 610 'required by the last known version.'); |
| 611 } |
| 612 if (mainDataHeader.version >= 0) { |
| 613 |
| 614 result.timelineController = decoder0.decodeInterfaceRequest(8, false, time
line_controller_mojom.MediaTimelineControllerStub.newFromEndpoint); |
| 615 } |
| 616 return result; |
| 617 } |
| 618 |
| 619 void encode(bindings.Encoder encoder) { |
| 620 var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last); |
| 621 try { |
| 622 encoder0.encodeInterfaceRequest(timelineController, 8, false); |
| 623 } on bindings.MojoCodecError catch(e) { |
| 624 e.message = "Error encountered while encoding field " |
| 625 "timelineController of struct _MediaFactoryCreateTimelineControllerPar
ams: $e"; |
| 626 rethrow; |
| 627 } |
| 628 } |
| 629 |
| 630 String toString() { |
| 631 return "_MediaFactoryCreateTimelineControllerParams(" |
| 632 "timelineController: $timelineController" ")"; |
| 633 } |
| 634 |
| 635 Map toJson() { |
| 636 throw new bindings.MojoCodecError( |
| 637 'Object containing handles cannot be encoded to JSON.'); |
| 638 } |
| 639 } |
| 640 |
| 569 const int _mediaFactoryMethodCreatePlayerName = 0; | 641 const int _mediaFactoryMethodCreatePlayerName = 0; |
| 570 const int _mediaFactoryMethodCreateSourceName = 1; | 642 const int _mediaFactoryMethodCreateSourceName = 1; |
| 571 const int _mediaFactoryMethodCreateSinkName = 2; | 643 const int _mediaFactoryMethodCreateSinkName = 2; |
| 572 const int _mediaFactoryMethodCreateDemuxName = 3; | 644 const int _mediaFactoryMethodCreateDemuxName = 3; |
| 573 const int _mediaFactoryMethodCreateDecoderName = 4; | 645 const int _mediaFactoryMethodCreateDecoderName = 4; |
| 574 const int _mediaFactoryMethodCreateNetworkReaderName = 5; | 646 const int _mediaFactoryMethodCreateNetworkReaderName = 5; |
| 647 const int _mediaFactoryMethodCreateTimelineControllerName = 6; |
| 575 | 648 |
| 576 class _MediaFactoryServiceDescription implements service_describer.ServiceDescri
ption { | 649 class _MediaFactoryServiceDescription implements service_describer.ServiceDescri
ption { |
| 577 dynamic getTopLevelInterface([Function responseFactory]) => | 650 dynamic getTopLevelInterface([Function responseFactory]) => |
| 578 responseFactory(null); | 651 responseFactory(null); |
| 579 | 652 |
| 580 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => | 653 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => |
| 581 responseFactory(null); | 654 responseFactory(null); |
| 582 | 655 |
| 583 dynamic getAllTypeDefinitions([Function responseFactory]) => | 656 dynamic getAllTypeDefinitions([Function responseFactory]) => |
| 584 responseFactory(null); | 657 responseFactory(null); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 605 } | 678 } |
| 606 s.connectToService(url, p, name); | 679 s.connectToService(url, p, name); |
| 607 return p; | 680 return p; |
| 608 } | 681 } |
| 609 void createPlayer(seeking_reader_mojom.SeekingReaderInterface reader, media_pl
ayer_mojom.MediaPlayerInterfaceRequest player); | 682 void createPlayer(seeking_reader_mojom.SeekingReaderInterface reader, media_pl
ayer_mojom.MediaPlayerInterfaceRequest player); |
| 610 void createSource(seeking_reader_mojom.SeekingReaderInterface reader, List<med
ia_types_mojom.MediaTypeSet> allowedMediaTypes, media_source_mojom.MediaSourceIn
terfaceRequest source); | 683 void createSource(seeking_reader_mojom.SeekingReaderInterface reader, List<med
ia_types_mojom.MediaTypeSet> allowedMediaTypes, media_source_mojom.MediaSourceIn
terfaceRequest source); |
| 611 void createSink(String destinationUrl, media_types_mojom.MediaType mediaType,
media_sink_mojom.MediaSinkInterfaceRequest sink); | 684 void createSink(String destinationUrl, media_types_mojom.MediaType mediaType,
media_sink_mojom.MediaSinkInterfaceRequest sink); |
| 612 void createDemux(seeking_reader_mojom.SeekingReaderInterface reader, media_dem
ux_mojom.MediaDemuxInterfaceRequest demux); | 685 void createDemux(seeking_reader_mojom.SeekingReaderInterface reader, media_dem
ux_mojom.MediaDemuxInterfaceRequest demux); |
| 613 void createDecoder(media_types_mojom.MediaType inputMediaType, media_type_conv
erter_mojom.MediaTypeConverterInterfaceRequest decoder); | 686 void createDecoder(media_types_mojom.MediaType inputMediaType, media_type_conv
erter_mojom.MediaTypeConverterInterfaceRequest decoder); |
| 614 void createNetworkReader(String url, seeking_reader_mojom.SeekingReaderInterfa
ceRequest reader); | 687 void createNetworkReader(String url, seeking_reader_mojom.SeekingReaderInterfa
ceRequest reader); |
| 688 void createTimelineController(timeline_controller_mojom.MediaTimelineControlle
rInterfaceRequest timelineController); |
| 615 } | 689 } |
| 616 | 690 |
| 617 abstract class MediaFactoryInterface | 691 abstract class MediaFactoryInterface |
| 618 implements bindings.MojoInterface<MediaFactory>, | 692 implements bindings.MojoInterface<MediaFactory>, |
| 619 MediaFactory { | 693 MediaFactory { |
| 620 factory MediaFactoryInterface([MediaFactory impl]) => | 694 factory MediaFactoryInterface([MediaFactory impl]) => |
| 621 new MediaFactoryStub.unbound(impl); | 695 new MediaFactoryStub.unbound(impl); |
| 622 factory MediaFactoryInterface.fromEndpoint( | 696 factory MediaFactoryInterface.fromEndpoint( |
| 623 core.MojoMessagePipeEndpoint endpoint, | 697 core.MojoMessagePipeEndpoint endpoint, |
| 624 [MediaFactory impl]) => | 698 [MediaFactory impl]) => |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 if (!ctrl.isBound) { | 823 if (!ctrl.isBound) { |
| 750 ctrl.proxyError("The Proxy is closed."); | 824 ctrl.proxyError("The Proxy is closed."); |
| 751 return; | 825 return; |
| 752 } | 826 } |
| 753 var params = new _MediaFactoryCreateNetworkReaderParams(); | 827 var params = new _MediaFactoryCreateNetworkReaderParams(); |
| 754 params.url = url; | 828 params.url = url; |
| 755 params.reader = reader; | 829 params.reader = reader; |
| 756 ctrl.sendMessage(params, | 830 ctrl.sendMessage(params, |
| 757 _mediaFactoryMethodCreateNetworkReaderName); | 831 _mediaFactoryMethodCreateNetworkReaderName); |
| 758 } | 832 } |
| 833 void createTimelineController(timeline_controller_mojom.MediaTimelineControlle
rInterfaceRequest timelineController) { |
| 834 if (!ctrl.isBound) { |
| 835 ctrl.proxyError("The Proxy is closed."); |
| 836 return; |
| 837 } |
| 838 var params = new _MediaFactoryCreateTimelineControllerParams(); |
| 839 params.timelineController = timelineController; |
| 840 ctrl.sendMessage(params, |
| 841 _mediaFactoryMethodCreateTimelineControllerName); |
| 842 } |
| 759 } | 843 } |
| 760 | 844 |
| 761 class _MediaFactoryStubControl | 845 class _MediaFactoryStubControl |
| 762 extends bindings.StubMessageHandler | 846 extends bindings.StubMessageHandler |
| 763 implements bindings.StubControl<MediaFactory> { | 847 implements bindings.StubControl<MediaFactory> { |
| 764 MediaFactory _impl; | 848 MediaFactory _impl; |
| 765 | 849 |
| 766 _MediaFactoryStubControl.fromEndpoint( | 850 _MediaFactoryStubControl.fromEndpoint( |
| 767 core.MojoMessagePipeEndpoint endpoint, [MediaFactory impl]) | 851 core.MojoMessagePipeEndpoint endpoint, [MediaFactory impl]) |
| 768 : super.fromEndpoint(endpoint, autoBegin: impl != null) { | 852 : super.fromEndpoint(endpoint, autoBegin: impl != null) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 case _mediaFactoryMethodCreateDecoderName: | 898 case _mediaFactoryMethodCreateDecoderName: |
| 815 var params = _MediaFactoryCreateDecoderParams.deserialize( | 899 var params = _MediaFactoryCreateDecoderParams.deserialize( |
| 816 message.payload); | 900 message.payload); |
| 817 _impl.createDecoder(params.inputMediaType, params.decoder); | 901 _impl.createDecoder(params.inputMediaType, params.decoder); |
| 818 break; | 902 break; |
| 819 case _mediaFactoryMethodCreateNetworkReaderName: | 903 case _mediaFactoryMethodCreateNetworkReaderName: |
| 820 var params = _MediaFactoryCreateNetworkReaderParams.deserialize( | 904 var params = _MediaFactoryCreateNetworkReaderParams.deserialize( |
| 821 message.payload); | 905 message.payload); |
| 822 _impl.createNetworkReader(params.url, params.reader); | 906 _impl.createNetworkReader(params.url, params.reader); |
| 823 break; | 907 break; |
| 908 case _mediaFactoryMethodCreateTimelineControllerName: |
| 909 var params = _MediaFactoryCreateTimelineControllerParams.deserialize( |
| 910 message.payload); |
| 911 _impl.createTimelineController(params.timelineController); |
| 912 break; |
| 824 default: | 913 default: |
| 825 throw new bindings.MojoCodecError("Unexpected message name"); | 914 throw new bindings.MojoCodecError("Unexpected message name"); |
| 826 break; | 915 break; |
| 827 } | 916 } |
| 828 return null; | 917 return null; |
| 829 } | 918 } |
| 830 | 919 |
| 831 MediaFactory get impl => _impl; | 920 MediaFactory get impl => _impl; |
| 832 set impl(MediaFactory d) { | 921 set impl(MediaFactory d) { |
| 833 if (d == null) { | 922 if (d == null) { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 890 } | 979 } |
| 891 void createDemux(seeking_reader_mojom.SeekingReaderInterface reader, media_dem
ux_mojom.MediaDemuxInterfaceRequest demux) { | 980 void createDemux(seeking_reader_mojom.SeekingReaderInterface reader, media_dem
ux_mojom.MediaDemuxInterfaceRequest demux) { |
| 892 return impl.createDemux(reader, demux); | 981 return impl.createDemux(reader, demux); |
| 893 } | 982 } |
| 894 void createDecoder(media_types_mojom.MediaType inputMediaType, media_type_conv
erter_mojom.MediaTypeConverterInterfaceRequest decoder) { | 983 void createDecoder(media_types_mojom.MediaType inputMediaType, media_type_conv
erter_mojom.MediaTypeConverterInterfaceRequest decoder) { |
| 895 return impl.createDecoder(inputMediaType, decoder); | 984 return impl.createDecoder(inputMediaType, decoder); |
| 896 } | 985 } |
| 897 void createNetworkReader(String url, seeking_reader_mojom.SeekingReaderInterfa
ceRequest reader) { | 986 void createNetworkReader(String url, seeking_reader_mojom.SeekingReaderInterfa
ceRequest reader) { |
| 898 return impl.createNetworkReader(url, reader); | 987 return impl.createNetworkReader(url, reader); |
| 899 } | 988 } |
| 989 void createTimelineController(timeline_controller_mojom.MediaTimelineControlle
rInterfaceRequest timelineController) { |
| 990 return impl.createTimelineController(timelineController); |
| 991 } |
| 900 } | 992 } |
| 901 | 993 |
| 902 | 994 |
| 903 | 995 |
| OLD | NEW |