class MediaPlayerDelegate {
public:
virtual void PlayerStateChanged(PlayerState state, void *context)=0;
virtual void PlayerStatus(StatusInfo *status, void *context)=0;
virtual void PlayerErrorEncountered(PlayerError error, void *context)=0;
};
[Prefix="Arris::", NoDelete]
callback interface MediaPlayerDelegate {
void PlayerStateChanged(PlayerState state, any context);
void PlayerStatus(StatusInfo status, any context);
void PlayerErrorEncountered(PlayerError error, any context);
};
[JSImplementation="MediaPlayerDelegate"]
interface MediaPlayerJSDelegate {
void MediaPlayerJSDelegate();
void PlayerStateChanged(PlayerState state, any context);
void PlayerStatus(StatusInfo status, any context);
void PlayerErrorEncountered(PlayerError error, any context);
};
void PlayerStatus(Arris::StatusInfo arg0, void* arg1) {
EM_ASM_INT({
var self = Module['getCache'](Module['MediaPlayerJSDelegate'])[$0];
if (!self.hasOwnProperty('PlayerStatus')) throw 'a JSImplementation must implement all functions, you forgot MediaPlayerJSDelegate::PlayerStatus.';
self['PlayerStatus']($1,$2);
}, (int)this, (int)arg0, arg1);
}
--
You received this message because you are subscribed to the Google Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
[Prefix="Arris::"]
interface StatusInfo {
readonly attribute unsigned long bitrate;
readonly attribute unsigned long networkthroughput;
readonly attribute unsigned long optimalbitrate;
readonly attribute unsigned long droppedframes;
readonly attribute unsigned long stalls;
readonly attribute double decodeFPS;
readonly attribute double renderFPS;
readonly attribute unsigned long audiosegments;
readonly attribute unsigned long videosegments;
readonly attribute unsigned long h264frames;
readonly attribute unsigned long rgbframes;
readonly attribute unsigned long pcmframes;
readonly attribute double seconds;
readonly attribute double duration;
readonly attribute double cacheduration;
readonly attribute PlayerState playerstate;
readonly attribute boolean frontendrunning;
readonly attribute boolean audiodemuxerrunning;
readonly attribute boolean videodemuxerrunning;
readonly attribute boolean decoderrunning;
readonly attribute boolean audiorendererrunning;
readonly attribute boolean videorendererrunning;
readonly attribute PlayerError lasterror;
};
To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to a topic in the Google Groups "emscripten-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/emscripten-discuss/RydKhN7fxqg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to emscripten-disc...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscri...@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "emscripten-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/emscripten-discuss/RydKhN7fxqg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to emscripten-discuss+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.