@stefanmartin/expo-video-watermark 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -20,7 +20,6 @@ import androidx.media3.effect.TextureOverlay
|
|
|
20
20
|
import androidx.media3.transformer.Composition
|
|
21
21
|
import androidx.media3.transformer.EditedMediaItem
|
|
22
22
|
import androidx.media3.transformer.EditedMediaItemSequence
|
|
23
|
-
import androidx.media3.common.C
|
|
24
23
|
import androidx.media3.transformer.Effects
|
|
25
24
|
import androidx.media3.transformer.ExportException
|
|
26
25
|
import androidx.media3.transformer.ExportResult
|
|
@@ -342,15 +341,13 @@ class ExpoVideoWatermarkModule : Module() {
|
|
|
342
341
|
return
|
|
343
342
|
}
|
|
344
343
|
|
|
345
|
-
// Step 14b: Create composition with EditedMediaItemSequence
|
|
346
|
-
val composition = try {
|
|
347
|
-
// Wrap EditedMediaItem in a sequence (
|
|
348
|
-
val sequence = EditedMediaItemSequence.Builder(
|
|
349
|
-
.addItem(editedMediaItem)
|
|
350
|
-
.build()
|
|
344
|
+
// Step 14b: Create composition with EditedMediaItemSequence
|
|
345
|
+
val composition: Composition = try {
|
|
346
|
+
// Wrap EditedMediaItem in a sequence (Media3 1.8.0 API)
|
|
347
|
+
val sequence = EditedMediaItemSequence.Builder(listOf(editedMediaItem)).build()
|
|
351
348
|
|
|
352
349
|
// Build composition with HDR mode if needed
|
|
353
|
-
val compositionBuilder = Composition.Builder(sequence)
|
|
350
|
+
val compositionBuilder = Composition.Builder(listOf(sequence))
|
|
354
351
|
if (isHdr) {
|
|
355
352
|
Log.d(TAG, "[Step 14b] HDR video detected. Applying tone-mapping to composition.")
|
|
356
353
|
compositionBuilder.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
|
|
@@ -383,7 +380,7 @@ class ExpoVideoWatermarkModule : Module() {
|
|
|
383
380
|
.addListener(object : Transformer.Listener {
|
|
384
381
|
override fun onCompleted(composition: Composition, exportResult: ExportResult) {
|
|
385
382
|
Log.d(TAG, "[Step 15] Transform completed successfully")
|
|
386
|
-
Log.d(TAG, "[Step 15] Export result -
|
|
383
|
+
Log.d(TAG, "[Step 15] Export result - durationMs: ${exportResult.durationMs}, " +
|
|
387
384
|
"fileSizeBytes: ${exportResult.fileSizeBytes}, " +
|
|
388
385
|
"averageAudioBitrate: ${exportResult.averageAudioBitrate}, " +
|
|
389
386
|
"averageVideoBitrate: ${exportResult.averageVideoBitrate}, " +
|
|
@@ -419,7 +416,7 @@ class ExpoVideoWatermarkModule : Module() {
|
|
|
419
416
|
.addListener(object : Transformer.Listener {
|
|
420
417
|
override fun onCompleted(composition: Composition, hevcExportResult: ExportResult) {
|
|
421
418
|
Log.d(TAG, "[Step 16] H.265 re-encode completed successfully")
|
|
422
|
-
Log.d(TAG, "[Step 16] Export result -
|
|
419
|
+
Log.d(TAG, "[Step 16] Export result - durationMs: ${hevcExportResult.durationMs}, " +
|
|
423
420
|
"fileSizeBytes: ${hevcExportResult.fileSizeBytes}, " +
|
|
424
421
|
"averageAudioBitrate: ${hevcExportResult.averageAudioBitrate}, " +
|
|
425
422
|
"averageVideoBitrate: ${hevcExportResult.averageVideoBitrate}, " +
|
|
@@ -509,7 +506,7 @@ class ExpoVideoWatermarkModule : Module() {
|
|
|
509
506
|
appendLine()
|
|
510
507
|
appendLine("--- Output Info ---")
|
|
511
508
|
appendLine("Output path: $cleanOutputPath")
|
|
512
|
-
appendLine("Partial export result -
|
|
509
|
+
appendLine("Partial export result - durationMs: ${exportResult.durationMs}, " +
|
|
513
510
|
"fileSizeBytes: ${exportResult.fileSizeBytes}")
|
|
514
511
|
appendLine()
|
|
515
512
|
appendLine("--- Full Stack Trace ---")
|