256 Commits (master)

Author SHA1 Message Date
Leo Ma 43ca4b0e8e Upgrade gradle building environment to 2.2.3
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 4c57223703 Separate publishing control from camera preview
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Nikhil Kilivayil 4cc35613a3 Spelling mistakes corrected (#295) 9 years ago
Leo Ma 42fd31eb5c Fix camera switch bug
The encoder should be available when camera is opened.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma ad73ed4397 Fix record bug
It should not start recording when AV format not assigned.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
shishuo 3ea631d61c Update AndroidManifest.xml (#268)
Fix build error:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
9 years ago
Leo Ma bd6f929b1a Add feature in manifest
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 9e12df1b70 Add abiFilters property in gradle building
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma d55ad9602b Fix video upside down
For some Android SDK versions (maybe Android M+) the camera preview rotation
will show upside down constract to the older ones. So we need to adjust
the preview rotation on dynamic orientation change as well as camera
face switch.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 6c44514793 Substitute message handler for exception
Reduce try-catch blocks for the whole project.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma c22ce5d9db Fix app module packet bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 2a6588a3bc Fix bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 766be308ea Seperate RTMP packet
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma adccd4cfb0 Seperate library module from app module
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 715cef59de Fix camera focus mode setting
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 4036d5db2a Add ADTS header for AAC ES
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 68cb5a37d1 Egl context version compatibility
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 3b7d80db76 Fix camera face swith bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 0c24613585 Seperate handler from thread to UI
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma a1050c902b Improve camera open method
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma c6150ad655 Adjust surface aspect ratio
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma f369302ae4 Multiply orthografic projection matrix
According to the camera preview size aspect ratio.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 7b7bd272f5 Update UI
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 7ecaf736ec Separate external and internal sampler shader
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 15f6d481a0 Add GL debug function
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma e66268d889 Update gradle building
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 4264e9357a Optimize blur shader drawing
For external OES sampler, there is much overhead when drawing to the
window surface directly due to I/O sampling operation. So an optimized
approach is to draw the external OES sampler into FBO texture whose
resolution might be smaller than the window surface. And then we can
draw it as GLES internel sampler to the window surface with less
overhead.

There are two stages of drawing with a filter shader as external OES
sampler and another default shader as common 2D sampler.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 1706a896e7 Simplification
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 7e3b61bd30 Bind FBO texture for drawing
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 8b4898505c Adjust preview and output resolution
Reduce preview resolution for skin blur shader drawing optimization.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 51571ce94a Substitute RBO for texture as FBO color attachment
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 81696ed5ad Simplify GPU image filter implementation
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 44d9e47484 Use EGL version 3 for EGL extension (KHR)
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 4a33be9c80 Simplify vertex data
Only x and y components are needed for shader.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 89df395ffc Substitute VBO for vertex array
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 6476e13a72 Text formatting
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 537074d980 Update
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 16ecb8c74a Fix bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 35c1d0bd97 Update
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 28ec5f2a85 Remove camera preview callback in GLSurfaceView
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 0638231992 Simplification
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 87296629b5 Add some defense
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma a4e39d8963 Magic filter streaming
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma dea9e8631e Romove
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma cc90c1a594 Fix magic filter not be drawn into memory
The magic filter should be drawn into FBO and then read into memory.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 330bf18f42 Update
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 3432938159 Rename
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma b06cd0cc89 Set preview texture in onSurfaceCreated callback
Camera preview on activity creation

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 2da354eeef Fix bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 05304fd614 Add AV output bitrate statistics
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 0a736fafdf Add AV output bitrate statistics
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma c3b264ce28 Fix aac specific config reset on stop
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 5b0f39b6e1 Fix audio sequence header missing
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 06efebdddc Layout adjustment
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma ce80229c72 Recover beauty glsl
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 9114fa30dc Always reset in shutdown
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma e6bc026809 Fix shutdown bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 5211eb4169 Camera filter switch
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 5294709150 Forbid beauty in camera default filter
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 340078a9d4 Preview size setting on creation
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 40880dec4f Optimization
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 367cbb3989 Simplify RTMP connection process
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma d2be32a030 Fix shutdown bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 53132193c7 Optimize RTMP read thread off
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 7e8e23387a Not do networking and IO operation on main thread
On Android 7.0 application is under strict mode by default which is a
development tool to forbid networking and IO operation on main thread.
Otherwise a NetworkOnMainThreadException will be thrown.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 072021325b Update Android Studio scripts
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma cb6d638042 Add libyuv mips ABI support
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma cf144ea392 Supplement
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma b7af586963 Portrait and landscape resolution setting
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 23953cb2c4 Use getApplicationContext for context reference
UI context should not be referred by static object whose life cycle is
as long as the program in case of memory leak.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma f7b2f8da83 Remove getNumberOfCameras method
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 92129f8291 Fix bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 7fc877bff9 Remove SrsPublisher class dependency in magicfilter
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma e6d07c7c6d Remove stopRecord method in stopPublish
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 805093d63e Fix return value bug
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma e946126c44 Do not throw uncaught exception in UI thread
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 45b58145c7 Remove connection flag on sample writing
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 61fd978563 Fix video frame cache counting bug
The bug is the side effect from the preceding RTMP writer threading
optimization.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 2203e1d9c8 Audio recording compatibility
As AudioRecord SDK comment says, 44,100Hz is the currently only rate
that is guaranteed to work on all devices. And so is the channel
configuration in mono.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 24cc6e6e92 Rename
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 638df0209c Merge branch 'master' into gpuimage
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma a40d818294 Add stop recording method into stop operation on UI
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma b1f35ffe89 Optimize RTMP writer thread
Merge RTMP writer thread into FLV muxer thread as well as connection thread.
And seperate connection method from the frame cache fetch loop.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 9339e9d544 Reduce streaming delay during connection
Yasea will not connect to the server until the first key frame is met.
But meanwhile the frame cache still accumulates some unnecessary frames
which would make serveral seconds delay on player end. Therefore we
change the strategy that the frame cache will not receive any frame
until the first key frame is met on connection.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 9c1385c22c Fix PTS data type bug
PTS which should be 64-bit size was set as long type in x264_encode()
and thus the value would jump to negative as 32-bit overflowed.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma d69477ae0d Merge branch 'master' of github.com:begeekmyfriend/yasea 9 years ago
Leo Ma 03b2dbb1e4 Fix PTS data type bug
PTS which should be 64-bit size was set as long type in x264_encode()
and thus the value would jump to negative as 32-bit overflowed.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
thegobot b2b65a9fef Update SrsPublisher.java
FOCUS_MODE_CONTINUOUS_PICTURE
9 years ago
Leo Ma 17f3904321 Add stopRecord in stopPublish
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma b29ee3a77a Modify network weak exception as event handler
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 4adb67785b Modify network weak exception as event handler
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 144608b4f6 Remove surfaceDestoryed overrided method
For backstage pause and resume.

Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma dbf20ce0bf Add gpuimage
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma cf0ec99282 Set app platform option
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 116c70609d Add app platform option
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 94652a884f Rename
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 47a5756ba8 Use DTS as RTMP AV packet timestamp
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago
Leo Ma 65153631f7 Audio only flag control 9 years ago
thegobot d798c95bfd Update SrsEncoder.java
setCameraFront()
setCameraBack()
9 years ago
Leo Ma c42c84a8a1 SDK
Signed-off-by: Leo Ma <begeekmyfriend@gmail.com>
9 years ago