Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding sample checks & DTS generation for multistream sample #1229

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

sirknightj
Copy link
Contributor

@sirknightj sirknightj commented Feb 6, 2025

Issue #, if available:

Description of changes:
This PR introduces the following improvements and fixes:

  • CI Enhancements

    • Added a new GitHub Actions workflow to validate the execution of sample applications across multiple platforms (Linux, macOS, Windows).
    • Ensured proper dependency installation and runtime configuration for GStreamer-based samples.
    • MKV file validation using mkvinfo and the debug MKV dump flag to confirm successful video ingestion.
  • Bug Fixes

    • Fixed an issue related to invalid DTS handling in the multi-stream sample application. The same logic exists in kvssink, so I just ported those changes over to this sample. Verified locally and through the CI that the media can now be uploaded, and checked playback from the AWS console.
image
  • Resolved minor inconsistencies in CI scripts (e.g., unnecessary trailing spaces, formatting issues).

  • Implementation notes

    • Currently, the multi-stream sample is only set up for the Mac runner. Expansion to windows & linux can be done in a future PR.
    • The new workflow has been optimized for speed for quicker testing/feedback cycle. Below is the github-generated report of how long each job took in total:
image

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@sirknightj sirknightj force-pushed the sample-checks branch 30 times, most recently from d87aa3a to 368b67a Compare February 7, 2025 05:55
@sirknightj sirknightj added 3.4.3 bug CI gstreamer Changes to kvssink or the kvssink samples Samples Related to the sample applications labels Feb 7, 2025
@sirknightj sirknightj marked this pull request as ready for review February 7, 2025 06:58
@sirknightj sirknightj changed the title Adding sample checks Adding sample checks & DTS generation for multistream sample Feb 7, 2025
@@ -0,0 +1,290 @@
name: Producer CPP Sample Checks
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

producer cpp sample checks- build/run for mac/ubuntu 2 versions /windows

while ! /Applications/Docker.app/Contents/Resources/bin/docker info &>/dev/null; do sleep 1; done

sudo ln -s ~/.docker/run/docker.sock /var/run/docker.sock

Copy link
Contributor

@unicornss unicornss Feb 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use gst-rtsp-server?

@@ -259,6 +261,12 @@ static GstFlowReturn on_new_sample(GstElement *sink, CustomData *data) {

buffer->pts += data->producer_start_time_map[stream_handle_key] - data->first_pts_map[stream_handle_key];

if (!GST_BUFFER_DTS_IS_VALID(buffer)) {
buffer->dts = data->last_dts_map[stream_handle_key] + DEFAULT_FRAME_DURATION_MS * HUNDREDS_OF_NANOS_IN_A_MILLISECOND * DEFAULT_TIME_UNIT_IN_NANOS;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

//monotonic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.4.3 bug CI gstreamer Changes to kvssink or the kvssink samples Samples Related to the sample applications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants