From 766be308eaa48e1fe37bc0d18c09ce8fcbb41d8d Mon Sep 17 00:00:00 2001 From: Leo Ma Date: Tue, 8 Nov 2016 17:06:16 +0800 Subject: [PATCH] Seperate RTMP packet Signed-off-by: Leo Ma --- app/.gitignore | 1 + .../github/faucamp/simplertmp}/Crypto.java | 5 +- .../simplertmp}/DefaultRtmpPublisher.java | 4 +- .../faucamp/simplertmp}/RtmpHandler.java | 2 +- .../faucamp/simplertmp}/RtmpPublisher.java | 2 +- .../github/faucamp/simplertmp}/Util.java | 2 +- .../faucamp/simplertmp}/amf/AmfArray.java | 4 +- .../faucamp/simplertmp}/amf/AmfBoolean.java | 2 +- .../faucamp/simplertmp}/amf/AmfData.java | 2 +- .../faucamp/simplertmp}/amf/AmfDecoder.java | 2 +- .../faucamp/simplertmp}/amf/AmfMap.java | 4 +- .../faucamp/simplertmp}/amf/AmfNull.java | 2 +- .../faucamp/simplertmp}/amf/AmfNumber.java | 4 +- .../faucamp/simplertmp}/amf/AmfObject.java | 2 +- .../faucamp/simplertmp}/amf/AmfString.java | 4 +- .../faucamp/simplertmp}/amf/AmfType.java | 2 +- .../faucamp/simplertmp}/amf/AmfUndefined.java | 2 +- .../simplertmp}/io/ChunkStreamInfo.java | 6 +- .../simplertmp}/io/RtmpConnection.java | 36 +- .../faucamp/simplertmp}/io/RtmpDecoder.java | 26 +- .../simplertmp}/io/RtmpSessionInfo.java | 4 +- .../simplertmp}/io/WindowAckRequired.java | 4 +- .../faucamp/simplertmp}/packets/Abort.java | 6 +- .../simplertmp}/packets/Acknowledgement.java | 6 +- .../faucamp/simplertmp}/packets/Audio.java | 4 +- .../faucamp/simplertmp}/packets/Command.java | 8 +- .../simplertmp}/packets/ContentData.java | 4 +- .../faucamp/simplertmp}/packets/Data.java | 6 +- .../simplertmp}/packets/Handshake.java | 6 +- .../simplertmp}/packets/RtmpHeader.java | 8 +- .../simplertmp}/packets/RtmpPacket.java | 4 +- .../simplertmp}/packets/SetChunkSize.java | 6 +- .../simplertmp}/packets/SetPeerBandwidth.java | 6 +- .../simplertmp}/packets/UserControl.java | 6 +- .../packets/VariableBodyRtmpPacket.java | 14 +- .../faucamp/simplertmp}/packets/Video.java | 4 +- .../simplertmp}/packets/WindowAckSize.java | 6 +- .../java/net/ossrs/yasea/MainActivity.java | 377 ------------------ .../java/net/ossrs/yasea/SrsCameraView.java | 2 - .../main/java/net/ossrs/yasea/SrsEncoder.java | 6 +- .../java/net/ossrs/yasea/SrsFlvMuxer.java | 6 +- .../net/ossrs/yasea/SrsNetworkHandler.java | 3 +- .../java/net/ossrs/yasea/SrsPublisher.java | 3 +- .../net/ossrs/yasea/SrsRecordHandler.java | 5 +- .../main/java/net/ossrs/yasea/rtmp/LICENSE | 165 -------- 45 files changed, 121 insertions(+), 662 deletions(-) create mode 100644 app/.gitignore rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/Crypto.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/DefaultRtmpPublisher.java (95%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/RtmpHandler.java (95%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/RtmpPublisher.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/Util.java (99%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfArray.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfBoolean.java (96%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfData.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfDecoder.java (96%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfMap.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfNull.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfNumber.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfObject.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfString.java (97%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfType.java (95%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/amf/AmfUndefined.java (94%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/io/ChunkStreamInfo.java (95%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/io/RtmpConnection.java (96%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/io/RtmpDecoder.java (80%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/io/RtmpSessionInfo.java (96%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/io/WindowAckRequired.java (92%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Abort.java (89%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Acknowledgement.java (92%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Audio.java (79%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Command.java (92%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/ContentData.java (90%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Data.java (90%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Handshake.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/RtmpHeader.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/RtmpPacket.java (93%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/SetChunkSize.java (87%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/SetPeerBandwidth.java (95%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/UserControl.java (98%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/VariableBodyRtmpPacket.java (83%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/Video.java (79%) rename library/src/main/java/{net/ossrs/yasea/rtmp => com/github/faucamp/simplertmp}/packets/WindowAckSize.java (91%) delete mode 100644 library/src/main/java/net/ossrs/yasea/MainActivity.java delete mode 100644 library/src/main/java/net/ossrs/yasea/rtmp/LICENSE diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..3543521 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/Crypto.java b/library/src/main/java/com/github/faucamp/simplertmp/Crypto.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/Crypto.java rename to library/src/main/java/com/github/faucamp/simplertmp/Crypto.java index a837f87..cd2eed5 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/Crypto.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/Crypto.java @@ -1,10 +1,11 @@ -package net.ossrs.yasea.rtmp; +package com.github.faucamp.simplertmp; + +import android.util.Log; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; -import android.util.Log; /** * Some helper utilities for SHA256, mostly (used during handshake) diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/DefaultRtmpPublisher.java b/library/src/main/java/com/github/faucamp/simplertmp/DefaultRtmpPublisher.java similarity index 95% rename from library/src/main/java/net/ossrs/yasea/rtmp/DefaultRtmpPublisher.java rename to library/src/main/java/com/github/faucamp/simplertmp/DefaultRtmpPublisher.java index 56e2bbb..620e79b 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/DefaultRtmpPublisher.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/DefaultRtmpPublisher.java @@ -1,9 +1,9 @@ -package net.ossrs.yasea.rtmp; +package com.github.faucamp.simplertmp; import java.io.IOException; import java.util.concurrent.atomic.AtomicInteger; -import net.ossrs.yasea.rtmp.io.RtmpConnection; +import com.github.faucamp.simplertmp.io.RtmpConnection; /** * Srs implementation of an RTMP publisher diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/RtmpHandler.java b/library/src/main/java/com/github/faucamp/simplertmp/RtmpHandler.java similarity index 95% rename from library/src/main/java/net/ossrs/yasea/rtmp/RtmpHandler.java rename to library/src/main/java/com/github/faucamp/simplertmp/RtmpHandler.java index 882d1c4..29bd269 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/RtmpHandler.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/RtmpHandler.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp; +package com.github.faucamp.simplertmp; import android.os.Handler; import android.os.Message; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/RtmpPublisher.java b/library/src/main/java/com/github/faucamp/simplertmp/RtmpPublisher.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/RtmpPublisher.java rename to library/src/main/java/com/github/faucamp/simplertmp/RtmpPublisher.java index 60c4b3c..e5123bb 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/RtmpPublisher.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/RtmpPublisher.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp; +package com.github.faucamp.simplertmp; import java.io.IOException; import java.util.concurrent.atomic.AtomicInteger; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/Util.java b/library/src/main/java/com/github/faucamp/simplertmp/Util.java similarity index 99% rename from library/src/main/java/net/ossrs/yasea/rtmp/Util.java rename to library/src/main/java/com/github/faucamp/simplertmp/Util.java index c1e1c26..6be2e79 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/Util.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/Util.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp; +package com.github.faucamp.simplertmp; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfArray.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfArray.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfArray.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfArray.java index 0421f52..eef63e5 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfArray.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfArray.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; @@ -6,7 +6,7 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Util; /** * AMF Array diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfBoolean.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfBoolean.java similarity index 96% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfBoolean.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfBoolean.java index 2bac9d4..4fbbdfe 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfBoolean.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfBoolean.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfData.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfData.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfData.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfData.java index 408102c..766d4c0 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfData.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfData.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfDecoder.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfDecoder.java similarity index 96% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfDecoder.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfDecoder.java index 32f5feb..6405b38 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfDecoder.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfDecoder.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfMap.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfMap.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfMap.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfMap.java index a3fa528..b0eedad 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfMap.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfMap.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Map; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Util; /** * AMF map; that is, an "object"-like structure of key/value pairs, but with diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNull.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNull.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNull.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNull.java index 266385c..f25249f 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNull.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNull.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNumber.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNumber.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNumber.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNumber.java index 9600127..79dccf2 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfNumber.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfNumber.java @@ -1,10 +1,10 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Util; /** * AMF0 Number data type diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfObject.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfObject.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfObject.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfObject.java index df5a807..cdd3f57 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfObject.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfObject.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.BufferedInputStream; import java.io.IOException; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfString.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfString.java similarity index 97% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfString.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfString.java index 3ba575d..927d791 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfString.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfString.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; @@ -8,7 +8,7 @@ import java.lang.String; import android.util.Log; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Util; /** * diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfType.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfType.java similarity index 95% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfType.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfType.java index 6b6d9e5..f40ff6a 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfType.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfType.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.util.HashMap; import java.util.Map; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfUndefined.java b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfUndefined.java similarity index 94% rename from library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfUndefined.java rename to library/src/main/java/com/github/faucamp/simplertmp/amf/AmfUndefined.java index f150633..2d38559 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/amf/AmfUndefined.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/amf/AmfUndefined.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package net.ossrs.yasea.rtmp.amf; +package com.github.faucamp.simplertmp.amf; import java.io.IOException; import java.io.InputStream; diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/io/ChunkStreamInfo.java b/library/src/main/java/com/github/faucamp/simplertmp/io/ChunkStreamInfo.java similarity index 95% rename from library/src/main/java/net/ossrs/yasea/rtmp/io/ChunkStreamInfo.java rename to library/src/main/java/com/github/faucamp/simplertmp/io/ChunkStreamInfo.java index 0e2cb21..5448b7d 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/io/ChunkStreamInfo.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/io/ChunkStreamInfo.java @@ -1,12 +1,12 @@ -package net.ossrs.yasea.rtmp.io; +package com.github.faucamp.simplertmp.io; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.packets.RtmpHeader; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.packets.RtmpHeader; /** * Chunk stream channel information diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpConnection.java b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpConnection.java similarity index 96% rename from library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpConnection.java rename to library/src/main/java/com/github/faucamp/simplertmp/io/RtmpConnection.java index 452bffc..bef78af 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpConnection.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpConnection.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.io; +package com.github.faucamp.simplertmp.io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; @@ -18,23 +18,23 @@ import java.util.concurrent.atomic.AtomicInteger; import android.util.Log; -import net.ossrs.yasea.rtmp.RtmpHandler; -import net.ossrs.yasea.rtmp.RtmpPublisher; -import net.ossrs.yasea.rtmp.amf.AmfMap; -import net.ossrs.yasea.rtmp.amf.AmfNull; -import net.ossrs.yasea.rtmp.amf.AmfNumber; -import net.ossrs.yasea.rtmp.amf.AmfObject; -import net.ossrs.yasea.rtmp.amf.AmfString; -import net.ossrs.yasea.rtmp.packets.Abort; -import net.ossrs.yasea.rtmp.packets.Data; -import net.ossrs.yasea.rtmp.packets.Handshake; -import net.ossrs.yasea.rtmp.packets.Command; -import net.ossrs.yasea.rtmp.packets.Audio; -import net.ossrs.yasea.rtmp.packets.SetPeerBandwidth; -import net.ossrs.yasea.rtmp.packets.Video; -import net.ossrs.yasea.rtmp.packets.UserControl; -import net.ossrs.yasea.rtmp.packets.RtmpPacket; -import net.ossrs.yasea.rtmp.packets.WindowAckSize; +import com.github.faucamp.simplertmp.RtmpHandler; +import com.github.faucamp.simplertmp.RtmpPublisher; +import com.github.faucamp.simplertmp.amf.AmfMap; +import com.github.faucamp.simplertmp.amf.AmfNull; +import com.github.faucamp.simplertmp.amf.AmfNumber; +import com.github.faucamp.simplertmp.amf.AmfObject; +import com.github.faucamp.simplertmp.amf.AmfString; +import com.github.faucamp.simplertmp.packets.Abort; +import com.github.faucamp.simplertmp.packets.Data; +import com.github.faucamp.simplertmp.packets.Handshake; +import com.github.faucamp.simplertmp.packets.Command; +import com.github.faucamp.simplertmp.packets.Audio; +import com.github.faucamp.simplertmp.packets.SetPeerBandwidth; +import com.github.faucamp.simplertmp.packets.Video; +import com.github.faucamp.simplertmp.packets.UserControl; +import com.github.faucamp.simplertmp.packets.RtmpPacket; +import com.github.faucamp.simplertmp.packets.WindowAckSize; /** * Main RTMP connection implementation class diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpDecoder.java b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpDecoder.java similarity index 80% rename from library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpDecoder.java rename to library/src/main/java/com/github/faucamp/simplertmp/io/RtmpDecoder.java index 6864eec..720bcd3 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpDecoder.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpDecoder.java @@ -1,22 +1,22 @@ -package net.ossrs.yasea.rtmp.io; +package com.github.faucamp.simplertmp.io; import java.io.IOException; import java.io.InputStream; import android.util.Log; -import net.ossrs.yasea.rtmp.packets.Abort; -import net.ossrs.yasea.rtmp.packets.Audio; -import net.ossrs.yasea.rtmp.packets.Command; -import net.ossrs.yasea.rtmp.packets.Data; -import net.ossrs.yasea.rtmp.packets.RtmpHeader; -import net.ossrs.yasea.rtmp.packets.RtmpPacket; -import net.ossrs.yasea.rtmp.packets.SetChunkSize; -import net.ossrs.yasea.rtmp.packets.SetPeerBandwidth; -import net.ossrs.yasea.rtmp.packets.UserControl; -import net.ossrs.yasea.rtmp.packets.Video; -import net.ossrs.yasea.rtmp.packets.WindowAckSize; -import net.ossrs.yasea.rtmp.packets.Acknowledgement; +import com.github.faucamp.simplertmp.packets.Abort; +import com.github.faucamp.simplertmp.packets.Audio; +import com.github.faucamp.simplertmp.packets.Command; +import com.github.faucamp.simplertmp.packets.Data; +import com.github.faucamp.simplertmp.packets.RtmpHeader; +import com.github.faucamp.simplertmp.packets.RtmpPacket; +import com.github.faucamp.simplertmp.packets.SetChunkSize; +import com.github.faucamp.simplertmp.packets.SetPeerBandwidth; +import com.github.faucamp.simplertmp.packets.UserControl; +import com.github.faucamp.simplertmp.packets.Video; +import com.github.faucamp.simplertmp.packets.WindowAckSize; +import com.github.faucamp.simplertmp.packets.Acknowledgement; /** * @author francois diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpSessionInfo.java b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpSessionInfo.java similarity index 96% rename from library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpSessionInfo.java rename to library/src/main/java/com/github/faucamp/simplertmp/io/RtmpSessionInfo.java index f4fb09a..e9d03bb 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/io/RtmpSessionInfo.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/io/RtmpSessionInfo.java @@ -1,10 +1,10 @@ -package net.ossrs.yasea.rtmp.io; +package com.github.faucamp.simplertmp.io; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import net.ossrs.yasea.rtmp.packets.RtmpPacket; +import com.github.faucamp.simplertmp.packets.RtmpPacket; /** * diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/io/WindowAckRequired.java b/library/src/main/java/com/github/faucamp/simplertmp/io/WindowAckRequired.java similarity index 92% rename from library/src/main/java/net/ossrs/yasea/rtmp/io/WindowAckRequired.java rename to library/src/main/java/com/github/faucamp/simplertmp/io/WindowAckRequired.java index 1feb27f..6046474 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/io/WindowAckRequired.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/io/WindowAckRequired.java @@ -1,6 +1,6 @@ -package net.ossrs.yasea.rtmp.io; +package com.github.faucamp.simplertmp.io; -import net.ossrs.yasea.rtmp.packets.RtmpPacket; +import com.github.faucamp.simplertmp.packets.RtmpPacket; /** * Thrown by RTMP read thread when an Acknowledgement packet needs to be sent diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Abort.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Abort.java similarity index 89% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Abort.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Abort.java index e0fd781..439c9f6 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Abort.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Abort.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * A "Abort" RTMP control message, received on chunk stream ID 2 (control channel) diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Acknowledgement.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Acknowledgement.java similarity index 92% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Acknowledgement.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Acknowledgement.java index 22fa7ca..f1c1cda 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Acknowledgement.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Acknowledgement.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * (Window) Acknowledgement diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Audio.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Audio.java similarity index 79% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Audio.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Audio.java index 642a8de..0d7ace6 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Audio.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Audio.java @@ -1,6 +1,6 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * Audio data packet diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Command.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Command.java similarity index 92% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Command.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Command.java index f40729d..522f700 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Command.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Command.java @@ -1,12 +1,12 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.amf.AmfNumber; -import net.ossrs.yasea.rtmp.amf.AmfString; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.amf.AmfNumber; +import com.github.faucamp.simplertmp.amf.AmfString; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * Encapsulates an command/"invoke" RTMP packet diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/ContentData.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/ContentData.java similarity index 90% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/ContentData.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/ContentData.java index d3ca470..b1e5305 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/ContentData.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/ContentData.java @@ -1,10 +1,10 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Util; /** * Content (audio/video) data packet base diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Data.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Data.java similarity index 90% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Data.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Data.java index da63fad..c68f1d2 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Data.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Data.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.amf.AmfString; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.amf.AmfString; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * AMF Data packet diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Handshake.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Handshake.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Handshake.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Handshake.java index 36073be..2a7b50f 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Handshake.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Handshake.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; @@ -7,8 +7,8 @@ import java.util.Random; import android.util.Log; -import net.ossrs.yasea.rtmp.Crypto; -import net.ossrs.yasea.rtmp.Util; +import com.github.faucamp.simplertmp.Crypto; +import com.github.faucamp.simplertmp.Util; /** * Handles the RTMP handshake song 'n dance diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpHeader.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpHeader.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpHeader.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpHeader.java index 50afc71..1ed61e9 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpHeader.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpHeader.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.EOFException; import java.io.IOException; @@ -11,9 +11,9 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; -import net.ossrs.yasea.rtmp.io.RtmpSessionInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.io.RtmpSessionInfo; /** * diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpPacket.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpPacket.java similarity index 93% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpPacket.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpPacket.java index 13b84aa..df3dd9f 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/RtmpPacket.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/RtmpPacket.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/SetChunkSize.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/SetChunkSize.java similarity index 87% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/SetChunkSize.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/SetChunkSize.java index 03c89b4..2e481df 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/SetChunkSize.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/SetChunkSize.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * A "Set chunk size" RTMP message, received on chunk stream ID 2 (control channel) diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/SetPeerBandwidth.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/SetPeerBandwidth.java similarity index 95% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/SetPeerBandwidth.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/SetPeerBandwidth.java index b957b97..58d0e0c 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/SetPeerBandwidth.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/SetPeerBandwidth.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; @@ -6,8 +6,8 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * Set Peer Bandwidth diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/UserControl.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/UserControl.java similarity index 98% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/UserControl.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/UserControl.java index d8d7b84..e7286a0 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/UserControl.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/UserControl.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; @@ -6,8 +6,8 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * User Control message, such as ping diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/VariableBodyRtmpPacket.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/VariableBodyRtmpPacket.java similarity index 83% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/VariableBodyRtmpPacket.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/VariableBodyRtmpPacket.java index 6ea4701..c670f61 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/VariableBodyRtmpPacket.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/VariableBodyRtmpPacket.java @@ -1,4 +1,4 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; @@ -6,12 +6,12 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; -import net.ossrs.yasea.rtmp.amf.AmfBoolean; -import net.ossrs.yasea.rtmp.amf.AmfData; -import net.ossrs.yasea.rtmp.amf.AmfDecoder; -import net.ossrs.yasea.rtmp.amf.AmfNull; -import net.ossrs.yasea.rtmp.amf.AmfNumber; -import net.ossrs.yasea.rtmp.amf.AmfString; +import com.github.faucamp.simplertmp.amf.AmfBoolean; +import com.github.faucamp.simplertmp.amf.AmfData; +import com.github.faucamp.simplertmp.amf.AmfDecoder; +import com.github.faucamp.simplertmp.amf.AmfNull; +import com.github.faucamp.simplertmp.amf.AmfNumber; +import com.github.faucamp.simplertmp.amf.AmfString; /** * RTMP packet with a "variable" body structure (i.e. the structure of the diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Video.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/Video.java similarity index 79% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/Video.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/Video.java index 944b578..64d9050 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/Video.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/Video.java @@ -1,6 +1,6 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * Video data packet diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/packets/WindowAckSize.java b/library/src/main/java/com/github/faucamp/simplertmp/packets/WindowAckSize.java similarity index 91% rename from library/src/main/java/net/ossrs/yasea/rtmp/packets/WindowAckSize.java rename to library/src/main/java/com/github/faucamp/simplertmp/packets/WindowAckSize.java index d91f6af..0205089 100644 --- a/library/src/main/java/net/ossrs/yasea/rtmp/packets/WindowAckSize.java +++ b/library/src/main/java/com/github/faucamp/simplertmp/packets/WindowAckSize.java @@ -1,11 +1,11 @@ -package net.ossrs.yasea.rtmp.packets; +package com.github.faucamp.simplertmp.packets; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import net.ossrs.yasea.rtmp.Util; -import net.ossrs.yasea.rtmp.io.ChunkStreamInfo; +import com.github.faucamp.simplertmp.Util; +import com.github.faucamp.simplertmp.io.ChunkStreamInfo; /** * Window Acknowledgement Size diff --git a/library/src/main/java/net/ossrs/yasea/MainActivity.java b/library/src/main/java/net/ossrs/yasea/MainActivity.java deleted file mode 100644 index bde9663..0000000 --- a/library/src/main/java/net/ossrs/yasea/MainActivity.java +++ /dev/null @@ -1,377 +0,0 @@ -package net.ossrs.yasea; - -import android.content.SharedPreferences; -import android.content.pm.ActivityInfo; -import android.content.res.Configuration; -import android.hardware.Camera; -import android.os.Bundle; -import android.os.Environment; -import android.support.v7.app.AppCompatActivity; -import android.util.Log; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.view.WindowManager; -import android.widget.Button; -import android.widget.EditText; -import android.widget.Toast; - -import net.ossrs.yasea.rtmp.RtmpHandler; - -import com.seu.magicfilter.utils.MagicFilterType; - -import java.util.Random; - -public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpListener, - SrsRecordHandler.SrsRecordListener, SrsNetworkHandler.SrsNetworkListener { - - private static final String TAG = "Yasea"; - - Button btnPublish = null; - Button btnSwitchCamera = null; - Button btnRecord = null; - Button btnSwitchEncoder = null; - - private SharedPreferences sp; - private String rtmpUrl = "rtmp://ossrs.net/" + getRandomAlphaString(3) + '/' + getRandomAlphaDigitString(5); - private String recPath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"; - - private SrsPublisher mPublisher; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - setContentView(R.layout.activity_main); - - // response screen rotation event - setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); - - // restore data. - sp = getSharedPreferences("Yasea", MODE_PRIVATE); - rtmpUrl = sp.getString("rtmpUrl", rtmpUrl); - - // initialize url. - final EditText efu = (EditText) findViewById(R.id.url); - efu.setText(rtmpUrl); - - btnPublish = (Button) findViewById(R.id.publish); - btnSwitchCamera = (Button) findViewById(R.id.swCam); - btnRecord = (Button) findViewById(R.id.record); - btnSwitchEncoder = (Button) findViewById(R.id.swEnc); - - mPublisher = new SrsPublisher((SrsCameraView) findViewById(R.id.glsurfaceview_camera)); - mPublisher.setRtmpHandler(new RtmpHandler(this)); - mPublisher.setRecordHandler(new SrsRecordHandler(this)); - mPublisher.setNetworkHandler(new SrsNetworkHandler(this)); - mPublisher.setPreviewResolution(640, 480); - - btnPublish.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (btnPublish.getText().toString().contentEquals("publish")) { - rtmpUrl = efu.getText().toString(); - SharedPreferences.Editor editor = sp.edit(); - editor.putString("rtmpUrl", rtmpUrl); - editor.apply(); - - mPublisher.setOutputResolution(720, 1280); - mPublisher.setVideoHDMode(); - mPublisher.startPublish(rtmpUrl); - - if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) { - Toast.makeText(getApplicationContext(), "Use hard encoder", Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(getApplicationContext(), "Use soft encoder", Toast.LENGTH_SHORT).show(); - } - btnPublish.setText("stop"); - btnSwitchEncoder.setEnabled(false); - } else if (btnPublish.getText().toString().contentEquals("stop")) { - mPublisher.stopPublish(); - mPublisher.stopRecord(); - btnPublish.setText("publish"); - btnRecord.setText("record"); - btnSwitchEncoder.setEnabled(true); - } - } - }); - - btnSwitchCamera.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (Camera.getNumberOfCameras() > 0) { - mPublisher.switchCameraFace((mPublisher.getCamraId() + 1) % Camera.getNumberOfCameras()); - } - } - }); - - btnRecord.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (btnRecord.getText().toString().contentEquals("record")) { - mPublisher.startRecord(recPath); - btnRecord.setText("pause"); - } else if (btnRecord.getText().toString().contentEquals("pause")) { - mPublisher.pauseRecord(); - btnRecord.setText("resume"); - } else if (btnRecord.getText().toString().contentEquals("resume")) { - mPublisher.resumeRecord(); - btnRecord.setText("pause"); - } - } - }); - - btnSwitchEncoder.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) { - mPublisher.swithToSoftEncoder(); - btnSwitchEncoder.setText("hard encoder"); - } else if (btnSwitchEncoder.getText().toString().contentEquals("hard encoder")) { - mPublisher.swithToHardEncoder(); - btnSwitchEncoder.setText("soft encoder"); - } - } - }); - - Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { - @Override - public void uncaughtException(Thread thread, Throwable ex) { - final String msg = ex.getMessage(); - runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show(); - mPublisher.stopPublish(); - mPublisher.stopRecord(); - btnPublish.setText("publish"); - btnRecord.setText("record"); - btnSwitchEncoder.setEnabled(true); - } - }); - } - }); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.menu_main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - - //noinspection SimplifiableIfStatement - if (id == R.id.action_settings) { - return true; - } else { - switch (id) { - case R.id.cool_filter: - mPublisher.switchCameraFilter(MagicFilterType.COOL); - break; - case R.id.beauty_filter: - mPublisher.switchCameraFilter(MagicFilterType.BEAUTY); - break; - case R.id.early_bird_filter: - mPublisher.switchCameraFilter(MagicFilterType.EARLYBIRD); - break; - case R.id.evergreen_filter: - mPublisher.switchCameraFilter(MagicFilterType.EVERGREEN); - break; - case R.id.n1977_filter: - mPublisher.switchCameraFilter(MagicFilterType.N1977); - break; - case R.id.nostalgia_filter: - mPublisher.switchCameraFilter(MagicFilterType.NOSTALGIA); - break; - case R.id.romance_filter: - mPublisher.switchCameraFilter(MagicFilterType.ROMANCE); - break; - case R.id.sunrise_filter: - mPublisher.switchCameraFilter(MagicFilterType.SUNRISE); - break; - case R.id.sunset_filter: - mPublisher.switchCameraFilter(MagicFilterType.SUNSET); - break; - case R.id.tender_filter: - mPublisher.switchCameraFilter(MagicFilterType.TENDER); - break; - case R.id.toast_filter: - mPublisher.switchCameraFilter(MagicFilterType.TOASTER2); - break; - case R.id.valencia_filter: - mPublisher.switchCameraFilter(MagicFilterType.VALENCIA); - break; - case R.id.walden_filter: - mPublisher.switchCameraFilter(MagicFilterType.WALDEN); - break; - case R.id.warm_filter: - mPublisher.switchCameraFilter(MagicFilterType.WARM); - break; - case R.id.original_filter: - default: - mPublisher.switchCameraFilter(MagicFilterType.NONE); - break; - } - } - setTitle(item.getTitle()); - - return super.onOptionsItemSelected(item); - } - - @Override - protected void onResume() { - super.onResume(); - final Button btn = (Button) findViewById(R.id.publish); - btn.setEnabled(true); - mPublisher.resumeRecord(); - } - - @Override - protected void onPause() { - super.onPause(); - mPublisher.pauseRecord(); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mPublisher.stopPublish(); - mPublisher.stopRecord(); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { - mPublisher.setPreviewRotation(90); - } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { - mPublisher.setPreviewRotation(0); - } - mPublisher.stopEncode(); - mPublisher.stopRecord(); - btnRecord.setText("record"); - mPublisher.setScreenOrientation(newConfig.orientation); - if (btnPublish.getText().toString().contentEquals("stop")) { - mPublisher.startEncode(); - } - } - - private static String getRandomAlphaString(int length) { - String base = "abcdefghijklmnopqrstuvwxyz"; - Random random = new Random(); - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < length; i++) { - int number = random.nextInt(base.length()); - sb.append(base.charAt(number)); - } - return sb.toString(); - } - - private static String getRandomAlphaDigitString(int length) { - String base = "abcdefghijklmnopqrstuvwxyz0123456789"; - Random random = new Random(); - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < length; i++) { - int number = random.nextInt(base.length()); - sb.append(base.charAt(number)); - } - return sb.toString(); - } - - // Implementation of SrsRtmpListener. - - @Override - public void onRtmpConnecting(String msg) { - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRtmpConnected(String msg) { - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRtmpVideoStreaming() { - } - - @Override - public void onRtmpAudioStreaming() { - } - - @Override - public void onRtmpStopped() { - Toast.makeText(getApplicationContext(), "Stopped", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRtmpDisconnected() { - Toast.makeText(getApplicationContext(), "Disconnected", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRtmpVideoFpsChanged(double fps) { - Log.i(TAG, String.format("Output Fps: %f", fps)); - } - - @Override - public void onRtmpVideoBitrateChanged(double bitrate) { - int rate = (int) bitrate; - if (rate / 1000 > 0) { - Log.i(TAG, String.format("Video bitrate: %f kbps", bitrate / 1000)); - } else { - Log.i(TAG, String.format("Video bitrate: %d bps", rate)); - } - } - - @Override - public void onRtmpAudioBitrateChanged(double bitrate) { - int rate = (int) bitrate; - if (rate / 1000 > 0) { - Log.i(TAG, String.format("Audio bitrate: %f kbps", bitrate / 1000)); - } else { - Log.i(TAG, String.format("Audio bitrate: %d bps", rate)); - } - } - - // Implementation of SrsRecordHandler. - - @Override - public void onRecordPause() { - Toast.makeText(getApplicationContext(), "Record paused", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRecordResume() { - Toast.makeText(getApplicationContext(), "Record resumed", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRecordStarted(String msg) { - Toast.makeText(getApplicationContext(), "Recording file: " + msg, Toast.LENGTH_SHORT).show(); - } - - @Override - public void onRecordFinished(String msg) { - Toast.makeText(getApplicationContext(), "MP4 file saved: " + msg, Toast.LENGTH_SHORT).show(); - } - - // Implementation of SrsNetworkHandler. - - @Override - public void onNetworkWeak() { - Toast.makeText(getApplicationContext(), "Network weak", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onNetworkResume() { - Toast.makeText(getApplicationContext(), "Network resume", Toast.LENGTH_SHORT).show(); - } -} diff --git a/library/src/main/java/net/ossrs/yasea/SrsCameraView.java b/library/src/main/java/net/ossrs/yasea/SrsCameraView.java index c464da7..9ac3fa5 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsCameraView.java +++ b/library/src/main/java/net/ossrs/yasea/SrsCameraView.java @@ -8,7 +8,6 @@ import android.opengl.GLES20; import android.opengl.GLSurfaceView; import android.opengl.Matrix; import android.util.AttributeSet; -import android.util.Log; import android.widget.Toast; import com.seu.magicfilter.base.gpuimage.GPUImageFilter; @@ -321,6 +320,5 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render public interface PreviewCallback { void onGetRgbaFrame(byte[] data, int width, int height); - } } diff --git a/library/src/main/java/net/ossrs/yasea/SrsEncoder.java b/library/src/main/java/net/ossrs/yasea/SrsEncoder.java index 0b74eba..30767d6 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsEncoder.java +++ b/library/src/main/java/net/ossrs/yasea/SrsEncoder.java @@ -491,10 +491,10 @@ public class SrsEncoder { private native void setEncoderPreset(String preset); private native byte[] NV21ToI420(byte[] yuvFrame, int width, int height, boolean flip, int rotate); private native byte[] NV21ToNV12(byte[] yuvFrame, int width, int height, boolean flip, int rotate); - private native byte[] RGBAToI420(byte[] yuvFrame, int width, int height, boolean flip, int rotate); - private native byte[] RGBAToNV12(byte[] yuvFrame, int width, int height, boolean flip, int rotate); + private native byte[] RGBAToI420(byte[] rgbaFrame, int width, int height, boolean flip, int rotate); + private native byte[] RGBAToNV12(byte[] rgbaFrame, int width, int height, boolean flip, int rotate); private native int NV21SoftEncode(byte[] yuvFrame, int width, int height, boolean flip, int rotate, long pts); - private native int RGBASoftEncode(byte[] yuvFrame, int width, int height, boolean flip, int rotate, long pts); + private native int RGBASoftEncode(byte[] rgbaFrame, int width, int height, boolean flip, int rotate, long pts); private native boolean openSoftEncoder(); private native void closeSoftEncoder(); diff --git a/library/src/main/java/net/ossrs/yasea/SrsFlvMuxer.java b/library/src/main/java/net/ossrs/yasea/SrsFlvMuxer.java index ea80c7c..37938ee 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsFlvMuxer.java +++ b/library/src/main/java/net/ossrs/yasea/SrsFlvMuxer.java @@ -4,15 +4,15 @@ import android.media.MediaCodec; import android.media.MediaFormat; import android.util.Log; +import com.github.faucamp.simplertmp.DefaultRtmpPublisher; +import com.github.faucamp.simplertmp.RtmpHandler; + import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; -import net.ossrs.yasea.rtmp.DefaultRtmpPublisher; -import net.ossrs.yasea.rtmp.RtmpHandler; - /** * Created by winlin on 5/2/15. * Updated by leoma on 4/1/16. diff --git a/library/src/main/java/net/ossrs/yasea/SrsNetworkHandler.java b/library/src/main/java/net/ossrs/yasea/SrsNetworkHandler.java index b1a7e64..2038f3f 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsNetworkHandler.java +++ b/library/src/main/java/net/ossrs/yasea/SrsNetworkHandler.java @@ -10,6 +10,7 @@ import java.lang.ref.WeakReference; */ public class SrsNetworkHandler extends Handler { + private static final int MSG_NETWORK_WEAK = 0; private static final int MSG_NETWORK_RESUME = 1; @@ -46,7 +47,7 @@ public class SrsNetworkHandler extends Handler { } } - interface SrsNetworkListener { + public interface SrsNetworkListener { void onNetworkWeak(); diff --git a/library/src/main/java/net/ossrs/yasea/SrsPublisher.java b/library/src/main/java/net/ossrs/yasea/SrsPublisher.java index 1536f15..8f8e76e 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsPublisher.java +++ b/library/src/main/java/net/ossrs/yasea/SrsPublisher.java @@ -4,8 +4,7 @@ import android.content.Context; import android.media.AudioManager; import android.media.AudioRecord; -import net.ossrs.yasea.rtmp.RtmpHandler; - +import com.github.faucamp.simplertmp.RtmpHandler; import com.seu.magicfilter.utils.MagicFilterType; import java.io.File; diff --git a/library/src/main/java/net/ossrs/yasea/SrsRecordHandler.java b/library/src/main/java/net/ossrs/yasea/SrsRecordHandler.java index d3bf8a6..4645db5 100644 --- a/library/src/main/java/net/ossrs/yasea/SrsRecordHandler.java +++ b/library/src/main/java/net/ossrs/yasea/SrsRecordHandler.java @@ -10,6 +10,7 @@ import java.lang.ref.WeakReference; */ public class SrsRecordHandler extends Handler { + private static final int MSG_RECORD_PAUSE = 0; private static final int MSG_RECORD_RESUME = 1; private static final int MSG_RECORD_STARTED = 2; @@ -17,7 +18,7 @@ public class SrsRecordHandler extends Handler { private WeakReference mWeakListener; - SrsRecordHandler(SrsRecordListener listener) { + public SrsRecordHandler(SrsRecordListener listener) { mWeakListener = new WeakReference<>(listener); } @@ -62,7 +63,7 @@ public class SrsRecordHandler extends Handler { } } - interface SrsRecordListener { + public interface SrsRecordListener { void onRecordPause(); diff --git a/library/src/main/java/net/ossrs/yasea/rtmp/LICENSE b/library/src/main/java/net/ossrs/yasea/rtmp/LICENSE deleted file mode 100644 index 65c5ca8..0000000 --- a/library/src/main/java/net/ossrs/yasea/rtmp/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library.