Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
b078fdd
feat(core): use a pool for frame to lower memory allocation
ThibaultBee Jan 23, 2026
bf3c1af
refactor(*): merge FrameWithCloseable with MutableFrame to avoid memo…
ThibaultBee Jan 24, 2026
7de2469
chore(core): frame copy use frame from pool for memory optimization
ThibaultBee Jan 25, 2026
7882782
chore(core): codec: reusable extra for memory optimization
ThibaultBee Jan 25, 2026
ad13a5b
refactor(core): move dummy endpoint to main source for test purpose
ThibaultBee Jan 25, 2026
50976dd
refactor(core): avoid slice to skip start code to reduce memory alloc…
ThibaultBee Jan 26, 2026
f2a5d1f
feat(core): pool make frame put back themself in the pool after close
ThibaultBee Jan 27, 2026
9677e06
feat(core): add a raw frame pool to reuse raw frame
ThibaultBee Jan 27, 2026
aad0dbe
feat(*): avoid to duplicate extra for each frames
ThibaultBee Jan 28, 2026
2128405
refactor(core): camera: move `applyRepeatingSessionSync` method to th…
ThibaultBee Jan 21, 2026
f18dea7
feat(core): add a flow to get the current physical camera Id
ThibaultBee Jan 21, 2026
41dd38e
refactor(core): camera: move session callback out of session controller
ThibaultBee Jan 23, 2026
f647a8f
feat(core): add custom audio effect API in the audio processor
ThibaultBee Jan 23, 2026
0729684
fix(core): processor: duplicate raw buffer dispatching
ThibaultBee Feb 2, 2026
4de8084
refactor(core): rename `clone` to `deepCopy`
ThibaultBee Feb 2, 2026
6ad8378
fix(core): processor: consumer audio effect must receive a deep copy …
ThibaultBee Feb 2, 2026
0579594
fix(core): processor: use `CopyOnWriteArrayList` instead of MutableLi…
ThibaultBee Feb 2, 2026
e1ba664
feat(ui): add a composable preview view
ThibaultBee Jan 30, 2026
6f3d60e
feat(core): camera: add a way to access the TotalCaptureResult
ThibaultBee Feb 3, 2026
7f4cd19
fix(core): camera: internalizes constructor of camera settings
ThibaultBee Feb 3, 2026
0ece354
feat(core): camera: add an API to set torch strength level
ThibaultBee Feb 3, 2026
ecde659
refactor(core): camera: use lazy initializer for available properties
ThibaultBee Feb 3, 2026
a387abe
refactor(*): add listener for camera zoom
ThibaultBee Feb 3, 2026
bf905ee
fix(core): camera: prefix torch strength level range with available
ThibaultBee Feb 3, 2026
4e61275
feat(core): make SingleStreamer inputs non nullable
ThibaultBee Feb 4, 2026
ac9ce6d
feat(core): make DualStreamer inputs non nullable
ThibaultBee Feb 4, 2026
24f5d10
chore(version):bump to 3.2.0 snapshot
ThibaultBee Feb 4, 2026
2efcc08
fix(ui): fix former comments on startPreview
ThibaultBee Feb 9, 2026
fd0f88b
refactor(compose): rename PreviewView and add a zoom callback
ThibaultBee Feb 9, 2026
97965c8
docs(README.md): add compose package info
ThibaultBee Feb 9, 2026
601cff3
feat(core): camera: in settings, add `totalCaptureResultFlow` instead…
ThibaultBee Feb 10, 2026
540f13b
fix(core): camera: in settings, make the coroutine scope not accessible
ThibaultBee Feb 10, 2026
6d3ada1
fix(core): camera: in settings, call awaitClose from the coroutine scope
ThibaultBee Feb 10, 2026
224ff5d
refactor(core): camera: in settings, use a shared flow to listen to c…
ThibaultBee Feb 10, 2026
1be661d
refactor(core): camera: in settings, add `isLockAvailable` API
ThibaultBee Feb 11, 2026
a630e48
feat(core): camera: in settings, add `defaultStrengthLevel` API
ThibaultBee Feb 11, 2026
02bb491
refactor(core): move snapshot API to a specific interface
ThibaultBee Feb 19, 2026
5cba6db
docs(README.md): improve README.md header
ThibaultBee Feb 21, 2026
394d7b7
refactor(core): make mutable frame and raw frame private to force use…
ThibaultBee Mar 2, 2026
1e4546f
refactor(core): camera: pass a coroutine dispatcher instead of a coro…
ThibaultBee Mar 2, 2026
beb361a
refactor(core): camera: move capture request builder out of the sessi…
ThibaultBee Mar 3, 2026
8fcc52d
feat(core): camera: add an API to reset all the camera settings
ThibaultBee Mar 3, 2026
82845e6
fix(core): lifecycle: correctly use NonCancellable
ThibaultBee Mar 4, 2026
e8eca7c
fix(core): properly returns media sink type exception
ThibaultBee Mar 8, 2026
be26c62
fix(rtmp): fix few warnings in the media descriptor
ThibaultBee Mar 8, 2026
07ef6f5
fix(rtmp): to not push frame to the muxer if the connection is closed.
ThibaultBee Mar 8, 2026
e6c0fcc
feat(core): add a specific error message when scheme or extension are…
ThibaultBee Mar 9, 2026
eef1106
refactor(core): lifecycle: merge life cycle observer in a single class
ThibaultBee Mar 11, 2026
d5cdb7d
feat(core): audioInput: add a specific start capture to run the audio…
ThibaultBee Mar 11, 2026
e8babf2
feat(core): lifecycle: add support for audio capture
ThibaultBee Mar 11, 2026
337d8c0
fix(core): camera: add RequiresPermission annotation for onTap
ThibaultBee Mar 11, 2026
1eac12a
fix(core): processor: add the `MutableList` to the `IAudioFrameProces…
ThibaultBee Mar 11, 2026
ecc72fd
refactor(core): audioInput: factorize startCapture/startStream and st…
ThibaultBee Mar 11, 2026
5603d20
feat(core): streamer: add the audio input mode as a parameter for sin…
ThibaultBee Mar 11, 2026
3c2cab7
fix(core): output: avoid a deadlock when stopping the stream and then…
ThibaultBee Mar 13, 2026
aa878e7
refactor(core): use AutoCloseable for Frame and RawFrame as it is non…
ThibaultBee Mar 18, 2026
b0148f9
fix(ui): move onZoomRatioOnPinchChanged to the main thread
ThibaultBee Mar 30, 2026
ecbbfd0
docs(Streamers.md): fix doc title
ThibaultBee Mar 31, 2026
75dedd9
fix(core): try/catch stopStream and stopCapture when audio/video inpu…
ThibaultBee Apr 7, 2026
42e6573
chore(core): rename StreamerLifeCycleObserver `autotartAudioCapture` …
ThibaultBee Apr 7, 2026
a4490bd
fix(core): in StreamerLifeCycleObserver try/catch all calls to stream…
ThibaultBee Apr 7, 2026
a37349a
fix(core): in EncodingPipelineOutput try/catch onStopStream to avoid …
ThibaultBee Apr 7, 2026
928cf14
fix(core): in StreamerLifeCycleObserver, fix the startAudioCapture wh…
ThibaultBee Apr 7, 2026
9792f25
fix(core): in audio and video inputs, verify isReleased state in befo…
ThibaultBee Apr 7, 2026
97ea532
fix(core): output: the coroutine scope should run on the supervisor s…
ThibaultBee Apr 8, 2026
ae0ee19
test(core): moving test on VP9 to 640x360
ThibaultBee Apr 8, 2026
319c8eb
test(core): workaround: disable test with webM because the VP9 encode…
ThibaultBee Apr 8, 2026
5b0d086
chore(ci): upgrade actions
ThibaultBee Apr 8, 2026
711b6c8
fix(core): processor: verify isReleased state in the mutex
ThibaultBee Apr 8, 2026
945c581
feat(*): add a UriMediaDescriptor for the content resolver
ThibaultBee Apr 10, 2026
6e0ddaf
refactor(core): replace SRT regulator controller by a direct factory
ThibaultBee Apr 12, 2026
61eca9f
fix(demo): camera: do not release streamer in the view model.
ThibaultBee Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
- name: Cache Gradle packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
Expand All @@ -24,7 +24,7 @@ jobs:
- name: Assemble
run: ./gradlew assemble
- name: Upload APKs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: apks
path: |
Expand All @@ -34,13 +34,13 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
- name: Cache Gradle packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
Expand All @@ -52,7 +52,7 @@ jobs:
working-directory: .
run: ./gradlew test
- name: Upload test reports
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: test-reports
path: '**/build/reports/tests'
8 changes: 4 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,16 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: '21'

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -87,6 +87,6 @@ jobs:
run: ./gradlew --scan --full-stacktrace -Dorg.gradle.dependency.verification=off compileDebugAndroidTestSources

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
update-doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ jobs:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
ls /dev/kvm
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'adopt'
Expand All @@ -43,7 +43,7 @@ jobs:
env:
INTEGRATION_TESTS_API_KEY: ${{ secrets.INTEGRATION_TESTS_API_KEY }}
- name: Upload test reports
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: test-reports-${{ matrix.api-level }}
path: |
Expand Down
Loading
Loading