Twitch SDK (Internal)
java_broadcastutil.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
13 
14 namespace ttv
15 {
16  namespace broadcast
17  {
18  class BroadcastAPI;
19  class IIngestTester;
20  class PassThroughVideoCapture;
21  class PassThroughVideoEncoder;
22  class PassThroughAudioCapture;
23  class PassThroughAudioEncoder;
24  }
25 
26  namespace binding
27  {
28  namespace java
29  {
30  class JavaBroadcastAPIListenerProxy;
31  class JavaIngestTesterListenerProxy;
32  class JavaBandwidthStatListenerProxy;
33 
35  {
36  std::shared_ptr<ttv::broadcast::BroadcastAPI> broadcastApi;
37  std::shared_ptr<JavaBroadcastAPIListenerProxy> nativeListener;
38  std::vector<std::shared_ptr<JavaBandwidthStatListenerProxy>> bandwidthListeners;
39  };
41 
43  {
44  std::shared_ptr<ttv::broadcast::IIngestTester> instance;
45  std::shared_ptr<JavaIngestTesterListenerProxy> nativeListener;
46  };
48 
50  {
51  std::shared_ptr<ttv::broadcast::PassThroughVideoCapture> instance;
52  };
54 
56  {
57  std::shared_ptr<ttv::broadcast::PassThroughVideoEncoder> instance;
58  };
60 
63 
64 
65  void LoadAllBroadcastJavaClassInfo(JNIEnv* jEnv);
66 
68  jobject GetJavaInstance_IngestServer(JNIEnv* jEnv, const ttv::broadcast::IngestServer& value);
69  jobject GetJavaInstance_VideoParams(JNIEnv* jEnv, const ttv::broadcast::VideoParams& value);
70  jobject GetJavaInstance_BandwidthStat(JNIEnv* jEnv, const ttv::broadcast::BandwidthStat& value);
71 
72  void GetNativeFromJava_VideoParams(JNIEnv* jEnv, ttv::broadcast::VideoParams& params, jobject jVideoParams);
73  void GetNativeFromJava_IngestServer(JNIEnv* jEnv, ttv::broadcast::IngestServer& server, jobject jIngestServer);
74  }
75  }
76 }
jobject GetJavaInstance_BandwidthStat(JNIEnv *jEnv, const ttv::broadcast::BandwidthStat &value)
JavaNativeProxyRegistry< ttv::broadcast::BroadcastAPI, BroadcastApiContext > gBroadcastApiNativeProxyRegistry
Definition: broadcasttypes.h:240
JavaNativeProxyRegistry< ttv::broadcast::PassThroughVideoEncoder, PassThroughVideoEncoderContext > gPassThroughVideoEncoderInstanceRegistry
std::shared_ptr< JavaIngestTesterListenerProxy > nativeListener
Definition: java_broadcastutil.h:45
std::shared_ptr< JavaBroadcastAPIListenerProxy > nativeListener
Definition: java_broadcastutil.h:37
void GetNativeFromJava_IngestServer(JNIEnv *jEnv, ttv::broadcast::IngestServer &server, jobject jIngestServer)
std::shared_ptr< ttv::broadcast::BroadcastAPI > broadcastApi
Definition: java_broadcastutil.h:36
JavaNativeProxyRegistry< ttv::broadcast::PassThroughVideoCapture, PassThroughVideoCaptureContext > gPassThroughVideoCaptureInstanceRegistry
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: java_broadcastutil.h:34
JavaNativeProxyRegistry< ttv::broadcast::PassThroughAudioCapture, ProxyContext< ttv::broadcast::PassThroughAudioCapture > > gPassThroughAudioCaptureInstanceRegistry
JavaNativeProxyRegistry< ttv::broadcast::PassThroughAudioEncoder, ProxyContext< ttv::broadcast::PassThroughAudioEncoder > > gPassThroughAudioEncoderInstanceRegistry
jobject GetJavaInstance_IngestServer(JNIEnv *jEnv, const ttv::broadcast::IngestServer &value)
std::shared_ptr< ttv::broadcast::IIngestTester > instance
Definition: java_broadcastutil.h:44
std::shared_ptr< ttv::broadcast::PassThroughVideoEncoder > instance
Definition: java_broadcastutil.h:57
Definition: broadcasttypes.h:80
Definition: java_broadcastutil.h:49
Definition: broadcasttypes.h:32
Definition: java_broadcastutil.h:55
std::vector< std::shared_ptr< JavaBandwidthStatListenerProxy > > bandwidthListeners
Definition: java_broadcastutil.h:38
Definition: java_broadcastutil.h:42
std::shared_ptr< ttv::broadcast::PassThroughVideoCapture > instance
Definition: java_broadcastutil.h:51
Definition: java_utility.h:57
BroadcastState
Definition: broadcasttypes.h:231
jobject GetJavaInstance_VideoParams(JNIEnv *jEnv, const ttv::broadcast::VideoParams &value)
void LoadAllBroadcastJavaClassInfo(JNIEnv *jEnv)
void GetNativeFromJava_VideoParams(JNIEnv *jEnv, ttv::broadcast::VideoParams &params, jobject jVideoParams)
jobject GetJavaInstance_BroadcastState(JNIEnv *jEnv, ttv::broadcast::BroadcastState value)
JavaNativeProxyRegistry< ttv::broadcast::IIngestTester, IngestTesterContext > gIngestTesterInstanceRegistry