appium-ios-remotexpc 5.14.2 → 5.14.3
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.
- package/CHANGELOG.md +6 -0
- package/build/src/services/ios/display/recording/av-capture.d.ts.map +1 -1
- package/build/src/services/ios/display/recording/av-capture.js +11 -2
- package/build/src/services/ios/display/recording/av-capture.js.map +1 -1
- package/package.json +1 -1
- package/src/services/ios/display/recording/av-capture.ts +10 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.14.3](https://github.com/appium/appium-ios-remotexpc/compare/v5.14.2...v5.14.3) (2026-08-11)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **display:** close the video writer when the audio writer's close throws ([#291](https://github.com/appium/appium-ios-remotexpc/issues/291)) ([ee8f381](https://github.com/appium/appium-ios-remotexpc/commit/ee8f381d867dfe703e407462ad7da0184b59a67d))
|
|
6
|
+
|
|
1
7
|
## [5.14.2](https://github.com/appium/appium-ios-remotexpc/compare/v5.14.1...v5.14.2) (2026-08-11)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"av-capture.d.ts","sourceRoot":"","sources":["../../../../../../src/services/ios/display/recording/av-capture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAqB,KAAK,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAwC,KAAK,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAAC,KAAK,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAI1E,uDAAuD;AACvD,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,0BAA0B;IACzC,uBAAuB;IACvB,KAAK,EAAE;QACL,uDAAuD;QACvD,IAAI,EAAE,MAAM,CAAC;QACb,qCAAqC;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,qBAAqB;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,0EAA0E;QAC1E,UAAU,EAAE,MAAM,CAAC;QACnB;;;;;;WAMG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,mEAAmE;QACnE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,wBAAwB;QACxB,KAAK,EAAE,iBAAiB,CAAC;KAC1B,CAAC;IACF,uBAAuB;IACvB,KAAK,EAAE;QACL,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,4BAA4B;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,iCAAiC;QACjC,MAAM,EAAE,YAAY,CAAC;QACrB,wBAAwB;QACxB,KAAK,EAAE,gBAAgB,CAAC;KACzB,CAAC;IACF;;;;;;;OAOG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,
|
|
1
|
+
{"version":3,"file":"av-capture.d.ts","sourceRoot":"","sources":["../../../../../../src/services/ios/display/recording/av-capture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAqB,KAAK,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAwC,KAAK,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAAC,KAAK,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAI1E,uDAAuD;AACvD,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,0BAA0B;IACzC,uBAAuB;IACvB,KAAK,EAAE;QACL,uDAAuD;QACvD,IAAI,EAAE,MAAM,CAAC;QACb,qCAAqC;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,qBAAqB;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,0EAA0E;QAC1E,UAAU,EAAE,MAAM,CAAC;QACnB;;;;;;WAMG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,mEAAmE;QACnE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,wBAAwB;QACxB,KAAK,EAAE,iBAAiB,CAAC;KAC1B,CAAC;IACF,uBAAuB;IACvB,KAAK,EAAE;QACL,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,4BAA4B;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,iCAAiC;QACjC,MAAM,EAAE,YAAY,CAAC;QACrB,wBAAwB;QACxB,KAAK,EAAE,gBAAgB,CAAC;KACzB,CAAC;IACF;;;;;;;OAOG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAsIrC"}
|
|
@@ -116,8 +116,17 @@ export async function recordScreenAndAudioToFiles(service, options) {
|
|
|
116
116
|
log.debug(`Failed to stop cleanly: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
117
|
});
|
|
118
118
|
await audioCapture.stop().catch(() => undefined);
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
// The video writer closes even when the audio writer throws. M4aFileWriter
|
|
120
|
+
// finalizes by reopening the finished file to patch mdat's length, so it can
|
|
121
|
+
// fail on a full disk long after every frame is safely on disk. Sequencing
|
|
122
|
+
// the two closes would leak the video file descriptor for the life of the
|
|
123
|
+
// process, and the error its stream is holding would never be read.
|
|
124
|
+
try {
|
|
125
|
+
audioWritten = await audioOut.close();
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
await videoOut.close();
|
|
129
|
+
}
|
|
121
130
|
}
|
|
122
131
|
const audioDurationMs = aacEldDurationMs(audioWritten.sampleCount);
|
|
123
132
|
// Measure against the video's own capture window, never the audio clock: if
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"av-capture.js","sourceRoot":"","sources":["../../../../../../src/services/ios/display/recording/av-capture.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"av-capture.js","sourceRoot":"","sources":["../../../../../../src/services/ios/display/recording/av-capture.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -196,8 +196,16 @@ export async function recordScreenAndAudioToFiles(
|
|
|
196
196
|
log.debug(`Failed to stop cleanly: ${error instanceof Error ? error.message : String(error)}`);
|
|
197
197
|
});
|
|
198
198
|
await audioCapture.stop().catch((): void => undefined);
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
// The video writer closes even when the audio writer throws. M4aFileWriter
|
|
200
|
+
// finalizes by reopening the finished file to patch mdat's length, so it can
|
|
201
|
+
// fail on a full disk long after every frame is safely on disk. Sequencing
|
|
202
|
+
// the two closes would leak the video file descriptor for the life of the
|
|
203
|
+
// process, and the error its stream is holding would never be read.
|
|
204
|
+
try {
|
|
205
|
+
audioWritten = await audioOut.close();
|
|
206
|
+
} finally {
|
|
207
|
+
await videoOut.close();
|
|
208
|
+
}
|
|
201
209
|
}
|
|
202
210
|
|
|
203
211
|
const audioDurationMs = aacEldDurationMs(audioWritten.sampleCount);
|