Skip to content

Commit 0772964

Browse files
authored
Merge pull request qualcomm-linux#364 from smuppand/gstreamer
gstreamer(video): share encoded artifacts across LAVA encode/decode testcases
2 parents d37dcc2 + ddaa145 commit 0772964

3 files changed

Lines changed: 47 additions & 6 deletions

File tree

Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/Video_Encode_Decode.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ run:
2424
steps:
2525
- REPO_PATH="$PWD"
2626
- cd Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/
27+
- VIDEO_SHARED_ENCODE_DIR="${REPO_PATH%%/tests/*}/shared/video-encode-decode"
2728
- export VIDEO_TEST_MODE VIDEO_CODECS VIDEO_RESOLUTIONS VIDEO_DURATION VIDEO_FRAMERATE
28-
- export VIDEO_STACK VIDEO_GST_DEBUG VIDEO_CLIP_URL VIDEO_CLIP_PATH
29+
- export VIDEO_STACK VIDEO_GST_DEBUG VIDEO_CLIP_URL VIDEO_CLIP_PATH VIDEO_SHARED_ENCODE_DIR
2930
- ./run.sh --mode "${VIDEO_TEST_MODE}" --codecs "${VIDEO_CODECS}" --resolutions "${VIDEO_RESOLUTIONS}" --duration "${VIDEO_DURATION}" --framerate "${VIDEO_FRAMERATE}" --stack "${VIDEO_STACK}" --gst-debug "${VIDEO_GST_DEBUG}" --clip-url "${VIDEO_CLIP_URL}" --clip-path "${VIDEO_CLIP_PATH}" || true
3031
- $REPO_PATH/Runner/utils/send-to-lava.sh Video_Encode_Decode.res

Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ LOG_DIR="${SCRIPT_DIR}/logs"
1818
OUTDIR="$LOG_DIR/$TESTNAME"
1919
GST_LOG="$OUTDIR/gst.log"
2020
DMESG_DIR="$OUTDIR/dmesg"
21-
ENCODED_DIR="$OUTDIR/encoded"
22-
23-
mkdir -p "$OUTDIR" "$DMESG_DIR" "$ENCODED_DIR" >/dev/null 2>&1 || true
24-
: >"$RES_FILE"
25-
: >"$GST_LOG"
2621

2722
INIT_ENV=""
2823
SEARCH="$SCRIPT_DIR"
@@ -55,6 +50,25 @@ fi
5550
# shellcheck disable=SC1091
5651
[ -f "$TOOLS/lib_video.sh" ] && . "$TOOLS/lib_video.sh"
5752

53+
# Use the shared encoded directory if supported; otherwise default to $OUTDIR/encoded.
54+
if command -v gstreamer_shared_encoded_dir >/dev/null 2>&1; then
55+
ENCODED_DIR="$(gstreamer_shared_encoded_dir "$SCRIPT_DIR" "$OUTDIR")"
56+
else
57+
ENCODED_DIR="$OUTDIR/encoded"
58+
fi
59+
60+
if ! mkdir -p "$OUTDIR" "$DMESG_DIR" "$ENCODED_DIR"; then
61+
log_error "Failed to create required directories:"
62+
log_error " OUTDIR=$OUTDIR"
63+
log_error " DMESG_DIR=$DMESG_DIR"
64+
log_error " ENCODED_DIR=$ENCODED_DIR"
65+
echo "$TESTNAME FAIL" >"$RES_FILE" 2>/dev/null || true
66+
exit 0
67+
fi
68+
69+
: >"$RES_FILE"
70+
: >"$GST_LOG"
71+
5872
result="FAIL"
5973
reason="unknown"
6074
pass_count=0
@@ -384,6 +398,7 @@ log_info "Resolutions: $resolutionList"
384398
log_info "Duration: ${duration}s, Framerate: ${framerate}fps"
385399
log_info "GST debug: GST_DEBUG=$gstDebugLevel"
386400
log_info "Logs: $OUTDIR"
401+
log_info "Encoded artifact dir: $ENCODED_DIR"
387402
log_info "VP9 clip URL: $clipUrl"
388403
if [ -n "$clipPath" ]; then
389404
log_info "VP9 clip local path: $clipPath"

Runner/utils/lib_gstreamer.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,31 @@ GSTLAUNCHFLAGS="${GSTLAUNCHFLAGS:--e -v -m}"
2020
# GST_ALSA_PLAYBACK_DEVICE=hw:0,0
2121
# GST_ALSA_CAPTURE_DEVICE=hw:0,1
2222

23+
# -------------------- Shared encoded-artifact directory --------------------
24+
# gstreamer_shared_encoded_dir <script_dir> <outdir>
25+
# Prints a directory path to use for encoded video artifacts.
26+
# Priority:
27+
# 1. VIDEO_SHARED_ENCODE_DIR if explicitly provided
28+
# 2. A job-shared path derived from the common LAVA prefix before /tests/
29+
# 3. Fallback to <outdir>/encoded for local/manual runs
30+
gstreamer_shared_encoded_dir() {
31+
script_dir="$1"
32+
outdir="$2"
33+
34+
if [ -n "${VIDEO_SHARED_ENCODE_DIR:-}" ]; then
35+
printf '%s\n' "$VIDEO_SHARED_ENCODE_DIR"
36+
return 0
37+
fi
38+
39+
case "$script_dir" in
40+
*/tests/*)
41+
printf '%s/shared/video-encode-decode\n' "${script_dir%%/tests/*}"
42+
;;
43+
*)
44+
printf '%s/encoded\n' "$outdir"
45+
;;
46+
esac
47+
}
2348
# -------------------- Element check --------------------
2449
has_element() {
2550
elem="$1"

0 commit comments

Comments
 (0)