1- package com .fpvout .digiview ;
1+ package com .fpvout .digiview . streaming ;
22
33import android .app .Notification ;
44import android .app .NotificationChannel ;
@@ -32,6 +32,7 @@ public class StreamingService extends Service {
3232 private static RtmpDisplay rtmpDisplayBase ;
3333 private static int dpi ;
3434 private String endpoint ;
35+
3536 @ Nullable
3637 @ Override
3738 public IBinder onBind (Intent intent ) {
@@ -54,7 +55,7 @@ public void onCreate() {
5455 @ Override
5556 public int onStartCommand (Intent intent , int flags , int startId ) {
5657 Log .d (TAG , "Start" );
57- endpoint = String .format ("%s/%s" , sharedPreferences .getString ("RtmpUrl " , "" ), sharedPreferences .getString ("RtmpKey " , "" ));
58+ endpoint = String .format ("%s/%s" , sharedPreferences .getString ("StreamRtmpUrl " , "" ), sharedPreferences .getString ("StreamRtmpKey " , "" ));
5859 prepareStreaming ();
5960 startStreaming ();
6061
@@ -64,31 +65,45 @@ public int onStartCommand(Intent intent, int flags, int startId) {
6465 private void prepareStreaming () {
6566 stopStreaming ();
6667 rtmpDisplayBase = new RtmpDisplay (appContext , true , connectChecker );
67- if (!sharedPreferences .getString ("RtmpUsername " , "" ).isEmpty () && !sharedPreferences .getString ("RtmpPassword " , "" ).isEmpty ()) {
68- rtmpDisplayBase .setAuthorization (sharedPreferences .getString ("RtmpUsername " , "" ), sharedPreferences .getString ("RtmpPassword " , "" ));
68+ if (!sharedPreferences .getString ("StreamRtmpUsername " , "" ).isEmpty () && !sharedPreferences .getString ("StreamRtmpPassword " , "" ).isEmpty ()) {
69+ rtmpDisplayBase .setAuthorization (sharedPreferences .getString ("StreamRtmpUsername " , "" ), sharedPreferences .getString ("StreamRtmpPassword " , "" ));
6970 }
7071 rtmpDisplayBase .setIntentResult (mediaProjectionResultCode , mediaProjectionData );
7172 }
7273
7374 private void startStreaming () {
7475 if (!rtmpDisplayBase .isStreaming ()) {
76+ StreamResolution streamResolution = StreamResolution .getResolution (sharedPreferences .getString ("StreamResolution" , StreamResolution .DEFAULT ));
7577 if (rtmpDisplayBase .prepareVideo (
76- Integer . parseInt ( sharedPreferences . getString ( "OutputWidth" , "1280" ) ),
77- Integer . parseInt ( sharedPreferences . getString ( "OutputHeight" , "720" ) ),
78- Integer . parseInt (sharedPreferences .getString ("OutputFramerate " , "60" )),
79- Integer . parseInt (sharedPreferences .getString ("OutputBitrate " , "1200" )) * 1024 ,
78+ streamResolution . getWidth ( ),
79+ streamResolution . getHeight ( ),
80+ StreamFramerate . getFramerate (sharedPreferences .getString ("StreamFramerate " , StreamFramerate . DEFAULT )),
81+ StreamBitrate . getBitrate (sharedPreferences .getString ("StreamBitrate " , StreamBitrate . DEFAULT )) ,
8082 0 ,
8183 dpi
8284 )) {
8385 boolean audioInitialized ;
84- if (sharedPreferences .getString ("AudioSource" , "0" ).equals ("internal" ) && Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
85- audioInitialized = rtmpDisplayBase .prepareInternalAudio (64 * 1024 , 32000 , true , false , false );
86+ if (sharedPreferences .getString ("StreamAudioSource" , StreamAudioSource .DEFAULT ).equals (StreamAudioSource .INTERNAL ) && Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
87+ audioInitialized = rtmpDisplayBase .prepareInternalAudio (
88+ StreamAudioBitrate .getBitrate (sharedPreferences .getString ("StreamAudioBitrate" , StreamAudioBitrate .DEFAULT )),
89+ StreamAudioSampleRate .getSampleRate (sharedPreferences .getString ("StreamAudioSampleRate" , StreamAudioSampleRate .DEFAULT )),
90+ sharedPreferences .getBoolean ("StreamAudioStereo" , true ),
91+ false ,
92+ false
93+ );
8694 } else {
87- audioInitialized = rtmpDisplayBase .prepareAudio (Integer .parseInt (sharedPreferences .getString ("AudioSource" , "0" )), 64 * 1024 , 32000 , false , false , false );
95+ audioInitialized = rtmpDisplayBase .prepareAudio (
96+ StreamAudioSource .getAudioSource (sharedPreferences .getString ("StreamAudioSource" , StreamAudioSource .DEFAULT )),
97+ StreamAudioBitrate .getBitrate (sharedPreferences .getString ("StreamAudioBitrate" , StreamAudioBitrate .DEFAULT )),
98+ StreamAudioSampleRate .getSampleRate (sharedPreferences .getString ("StreamAudioSampleRate" , StreamAudioSampleRate .DEFAULT )),
99+ sharedPreferences .getBoolean ("StreamAudioStereo" , true ),
100+ false ,
101+ false
102+ );
88103 }
89104
90105 if (audioInitialized ) {
91- if (!sharedPreferences .getBoolean ("RecordAudio " , true )) {
106+ if (!sharedPreferences .getBoolean ("StreamRecordAudio " , true )) {
92107 rtmpDisplayBase .disableAudio ();
93108 } else {
94109 rtmpDisplayBase .enableAudio ();
@@ -146,8 +161,8 @@ public static void init(Context context, ConnectCheckerRtmp connectCheckerRtmp)
146161 if (rtmpDisplayBase == null ) {
147162 sharedPreferences = PreferenceManager .getDefaultSharedPreferences (appContext );
148163 rtmpDisplayBase = new RtmpDisplay (appContext , true , connectChecker );
149- if (!sharedPreferences .getString ("RtmpUsername " , "" ).isEmpty () && !sharedPreferences .getString ("RtmpPassword " , "" ).isEmpty ()) {
150- rtmpDisplayBase .setAuthorization (sharedPreferences .getString ("RtmpUsername " , "" ), sharedPreferences .getString ("RtmpPassword " , "" ));
164+ if (!sharedPreferences .getString ("StreamRtmpUsername " , "" ).isEmpty () && !sharedPreferences .getString ("StreamRtmpPassword " , "" ).isEmpty ()) {
165+ rtmpDisplayBase .setAuthorization (sharedPreferences .getString ("StreamRtmpUsername " , "" ), sharedPreferences .getString ("StreamRtmpPassword " , "" ));
151166 }
152167 }
153168 }
0 commit comments