Comments (6)
I don't think it's supported now, which API do you want from Tizen.NET.TV?
from plugins.
Tizen.TV.Multimedia.ESPlayer, Tizen.TV.Security.DrmDecrypt and maybe others. Those APIs are thin wrappers around CAPI so we could theoretically skip the Tizen.NET layer and call CAPI directly from C++, but I'm not sure whether the owners want to reveal the underlying CAPI.
from plugins.
currently we use the method to wrap CAPI into Flutter plugins, it's the better way than wrap upon C#.
we have already wrapped video player which is based on media player, but for ES player, we tried, but since it can only display ES data we didn't implement all.
from plugins.
Where can I find this 'video player based on media player'? Is it released?
I agree that ESPlayer is a little bit tricky and low level. We consider to implement a Video Player demo application (something like https://github.com/SamsungDForum/JuvoPlayer/tree/master/XamarinPlayer/XamarinPlayer.Tizen.TV) in flutter and looking for a player API.
from plugins.
As Xuelian already stated, we strongly recommend to write the plugin code in C++ if the C# code you want to interact with in your Dart code is a wrapper of underlying C APIs.
I think you've already spoken personally with Xuelian, but for who are interested with writing plugins in C# rather than C++ or Dart, I'll explain a little bit more in detail. Flutter plugins for Android are written in Java or Kotlin because the platform's native language is Java. (Both Java and Kotlin code transpiles into JVM byte code so basically they are the same thing from the platform's perspective.) The same applies to iOS whose native language is obj-C (or Swift). In the same manner, Tizen plugins are written in C++ because the platform's native language is C++. Although Tizen supports .NET as one of its app types, C# code requires a .NET runtime to be initialized before it can run, so the situation is different from other platforms.
That being said, writing plugins in C# is still possible, at least in theory, because a Flutter app on Tizen TV technically runs on a .NET VM. (This is only because the native app type is not available for use by 3rd-party developers, so flutter-tizen uses the .NET app type as a workaround.) To enable building C# plugins, we first need to create C# binding for Tizen plugins that implements the binary channel interface between the Dart runtime and the .NET runtime. It would be something like the io.flutter.plugin.common
package for Android plugins. And then C# plugins will be able to register their method call handlers to the engine during app launch (which can be done by the flutter-tizen tool by injecting auto-generated code to the C# app host).
Because it will take quite a bit of effort to implement such things, we plan to challenge only if there's a high demand from the users. Thank you for your comment and if you have further questions or comments, please let us know!
from plugins.
@swift-kim thanks for the detailed explanation. Before raising this issue, I took a look on the flutter-tizen internals and noticed that the app type is Tizen .NET. I didn't expect that it is possible to develop a flutter plugin in C# now, but as you said, it should be technically possible.
If needed, we will consider to develop a C++ plugin.
from plugins.
Related Issues (20)
- [video_player_videohole] Problem reading DASH' integrated subtitles HOT 5
- dart analyze error (dart 3.1.0) HOT 2
- [video_player_videohole] Detailed errors HOT 1
- [video_player_videohole] Problem reading a drm protected Dash format with token authorization HOT 3
- Firebase core - how to use it HOT 6
- Problem using device manager to view logs on devices HOT 5
- [video_player] httpHeaders support HOT 2
- [flutter_webrtc] Crash when trying to add empty IceCandidate HOT 5
- [video_player_avplay] There are GStreamer errors in the log HOT 4
- [tizen_bundle] Bundle creation issue HOT 2
- [ci] The release workflow fails HOT 1
- Ongoing Activity HOT 5
- [webview_flutter_tizen] crash when run on real TV device HOT 34
- Not supporting low latency mode (HLS) HOT 2
- Inconsistent statements in documentation HOT 2
- [video_player_avplay] pausing video will throw an error and can not resume play in some situtaion HOT 3
- [video_player_avplay] The type of plusplayer's volume is different
- [video_player_avplay] Failed to build video_player_avplay plugin HOT 2
- Unresolved reference: samsung kotlin(UNRESOLVED_REFERENCE)
- [wearable_rotary] First RotaryController of NavigationStack never dismissed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plugins.