Skip to content

Commit

Permalink
Feature/metrics reporting (#67)
Browse files Browse the repository at this point in the history
* Working playback again after refactoring

* Minor refactoring

* Additional refactoring adding a more modular structure and clear entry points for incoming and outgoing messages. Dedicated controller classes that handle responsibilities for consumption reporting, QoE metrics reporting and playback/session management.

* Use new service name of MediaSessionHandler

* Refactoring and adding receptionReport.clientId

* Align implementation of reporting controllers by adjusting the message format

* One instance of the QoeReporter per metricsReportingConfigurationId

* Add support for samplingPeriod

* Refactor code to use dependency injection starting from MediaSessionHandlerAdapter. That way we can use interfaces later to inject stubs when implementing unit tests

* Fix a bug that caused outdated data to be reported when the source was changed

* Make Controller an interface

* Add interfaces for the different controller classes

* Add interface for ExoPlayerAdapter

* Add support for recordingSessionId for QoE metrics reports
  • Loading branch information
dsilhavy authored Apr 4, 2024
1 parent 88e3ac3 commit 82ef4a9
Show file tree
Hide file tree
Showing 22 changed files with 1,713 additions and 731 deletions.
1 change: 0 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 13 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ android {
minSdk 29
targetSdk 32
versionCode 1
versionName "1.1.0"
versionName "1.2.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand All @@ -37,7 +37,7 @@ publishing {
release(MavenPublication) {
groupId = 'com.fivegmag'
artifactId = 'a5gmsmediastreamhandler'
version = '1.1.0'
version = '1.2.0'
afterEvaluate {
from components.release
}
Expand All @@ -61,13 +61,21 @@ dependencies {
implementation 'androidx.media3:media3-exoplayer-dash:1.0.2'
implementation 'androidx.media3:media3-exoplayer-hls:1.0.2'
implementation 'androidx.media3:media3-ui:1.0.2'

implementation 'org.greenrobot:eventbus:3.3.1'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1'
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'com.fivegmag:a5gmscommonlibrary:1.1.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.1'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.12.1'

implementation 'javax.xml.stream:stax-api:1.0-2'
implementation 'com.fasterxml.jackson.core:jackson-core:2.15.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.0'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.15.0'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.0'

// 5G-MAG
implementation 'com.fivegmag:a5gmscommonlibrary:1.2.0'

testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0'
Expand Down
Loading

0 comments on commit 82ef4a9

Please sign in to comment.