Skip to content

Commit 55d63f0

Browse files
committed
rebased lib_gstreamer.sh and added changes, modified the display and video scripts based on review comments
Signed-off-by: Nitin Nakka <nitinn@qti.qualcomm.com>
1 parent bd8ef68 commit 55d63f0

7 files changed

Lines changed: 464 additions & 178 deletions

File tree

Runner/suites/Multimedia/GSTreamer/Display/Waylandsink_Playback/README.md

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,11 @@ The script is designed to be **CI/LAVA-friendly**:
7373

7474
### Options
7575

76-
- `--duration <seconds>` - Playback duration (default: 10)
76+
- `--resolution <WIDTHxHEIGHT>` - Video resolution (e.g., 1920x1080, 3840x2160) (default: 1920x1080)
77+
- `--duration <seconds>` - Playback duration (default: 30)
7778
- `--pattern <smpte|snow|ball|etc>` - videotestsrc pattern (default: smpte)
78-
- `--width <pixels>` - Video width (default: 1920)
79-
- `--height <pixels>` - Video height (default: 1080)
79+
- `--width <pixels>` - Video width (alternative to --resolution) (default: 1920)
80+
- `--height <pixels>` - Video height (alternative to --resolution) (default: 1080)
8081
- `--framerate <fps>` - Video framerate (default: 30)
8182
- `--gst-debug <level>` - GStreamer debug level 1-9 (default: 2)
8283

@@ -88,14 +89,23 @@ The script is designed to be **CI/LAVA-friendly**:
8889
# Run default test (1920x1080 SMPTE for 30s)
8990
./run.sh
9091

91-
# Run with 30 second duration
92-
./run.sh --duration 30
92+
# Run with custom resolution using --resolution
93+
./run.sh --resolution 3840x2160
94+
95+
# Run with custom resolution and duration
96+
./run.sh --resolution 3840x2160 --duration 20
9397

9498
# Run with ball pattern
9599
./run.sh --pattern ball
96100

97-
# Run with custom resolution
101+
# Run with custom resolution using separate width/height
98102
./run.sh --width 1280 --height 720
103+
104+
# Run with different framerate
105+
./run.sh --framerate 60
106+
107+
# Run with higher debug level
108+
./run.sh --gst-debug 5
99109
```
100110

101111
---
@@ -146,10 +156,15 @@ videotestsrc num-buffers=<N> pattern=<pattern>
146156

147157
## LAVA Environment Variables
148158

149-
- `VIDEO_DURATION` - Playback duration
150-
- `VIDEO_PATTERN` - videotestsrc pattern
151-
- `VIDEO_WIDTH` - Video width
152-
- `VIDEO_HEIGHT` - Video height
153-
- `VIDEO_FRAMERATE` - Video framerate
154-
- `VIDEO_GST_DEBUG` - GStreamer debug level
159+
The test supports these environment variables (can be set in LAVA job definition):
160+
161+
- `VIDEO_DURATION` - Playback duration in seconds (default: 30)
155162
- `RUNTIMESEC` - Alternative to VIDEO_DURATION
163+
- `VIDEO_PATTERN` - videotestsrc pattern (default: smpte)
164+
- `VIDEO_WIDTH` - Video width (default: 1920)
165+
- `VIDEO_HEIGHT` - Video height (default: 1080)
166+
- `VIDEO_FRAMERATE` - Video framerate (default: 30)
167+
- `VIDEO_GST_DEBUG` - GStreamer debug level (default: 2)
168+
- `GST_DEBUG_LEVEL` - Alternative to VIDEO_GST_DEBUG
169+
170+
**Priority order for duration**: `VIDEO_DURATION` > `RUNTIMESEC` > default (30)

Runner/suites/Multimedia/GSTreamer/Display/Waylandsink_Playback/Waylandsink_Playback.yaml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,27 @@ metadata:
1212
- functional
1313

1414
params:
15-
# Video resolution (WIDTHxHEIGHT)
16-
VIDEO_RESOLUTION: "1920x1080"
15+
# Playback duration in seconds (default: 30)
16+
# Priority: VIDEO_DURATION > RUNTIMESEC
17+
VIDEO_DURATION: "30"
18+
RUNTIMESEC: "" # if set, used as fallback
1719

18-
# Test pattern for videotestsrc
19-
VIDEO_PATTERN: "smpte" # smpte|snow|black|white|red|green|blue|checkers-1|checkers-2
20+
# Test pattern for videotestsrc (default: smpte)
21+
VIDEO_PATTERN: "smpte" # smpte|snow|black|white|red|green|blue|checkers-1|checkers-2|ball
2022

21-
# Playback duration in seconds
22-
PLAYBACK_DURATION: "30"
23+
# Video width in pixels (default: 1920)
24+
VIDEO_WIDTH: "1920"
2325

24-
# Frame rate
25-
FRAMERATE: "30"
26+
# Video height in pixels (default: 1080)
27+
VIDEO_HEIGHT: "1080"
2628

27-
# GStreamer debug level
29+
# Frame rate (default: 30)
30+
VIDEO_FRAMERATE: "30"
31+
32+
# GStreamer debug level (default: 2)
33+
# Priority: VIDEO_GST_DEBUG > GST_DEBUG_LEVEL
2834
VIDEO_GST_DEBUG: "2" # 1-9
35+
GST_DEBUG_LEVEL: "" # if set, used as fallback
2936

3037
run:
3138
steps:
@@ -34,14 +41,26 @@ run:
3441
# Navigate to test directory
3542
- cd Runner/suites/Multimedia/GSTreamer/Display/Waylandsink_Playback/
3643

37-
# Build CLI args only when params are non-empty
44+
# Export environment variables (script reads these directly)
45+
- export VIDEO_DURATION="${VIDEO_DURATION}"
46+
- export RUNTIMESEC="${RUNTIMESEC}"
47+
- export VIDEO_PATTERN="${VIDEO_PATTERN}"
48+
- export VIDEO_WIDTH="${VIDEO_WIDTH}"
49+
- export VIDEO_HEIGHT="${VIDEO_HEIGHT}"
50+
- export VIDEO_FRAMERATE="${VIDEO_FRAMERATE}"
51+
- export VIDEO_GST_DEBUG="${VIDEO_GST_DEBUG}"
52+
- export GST_DEBUG_LEVEL="${GST_DEBUG_LEVEL}"
53+
54+
# Build CLI args for overrides (optional - can also rely on env vars)
3855
- |
3956
CMD="./run.sh"
4057
41-
[ -n "${VIDEO_RESOLUTION}" ] && CMD="${CMD} --resolution ${VIDEO_RESOLUTION}"
58+
# Use CLI args to override defaults if needed
59+
# Note: Script reads env vars by default, CLI args override env vars
60+
[ -n "${VIDEO_WIDTH}" ] && [ -n "${VIDEO_HEIGHT}" ] && CMD="${CMD} --resolution ${VIDEO_WIDTH}x${VIDEO_HEIGHT}"
4261
[ -n "${VIDEO_PATTERN}" ] && CMD="${CMD} --pattern ${VIDEO_PATTERN}"
43-
[ -n "${PLAYBACK_DURATION}" ] && CMD="${CMD} --duration ${PLAYBACK_DURATION}"
44-
[ -n "${FRAMERATE}" ] && CMD="${CMD} --framerate ${FRAMERATE}"
62+
[ -n "${VIDEO_DURATION}" ] && CMD="${CMD} --duration ${VIDEO_DURATION}"
63+
[ -n "${VIDEO_FRAMERATE}" ] && CMD="${CMD} --framerate ${VIDEO_FRAMERATE}"
4564
[ -n "${VIDEO_GST_DEBUG}" ] && CMD="${CMD} --gst-debug ${VIDEO_GST_DEBUG}"
4665
4766
echo "[LAVA] Running: ${CMD}"

0 commit comments

Comments
 (0)