amazon-kinesis-video-streams-producer-sdk-cpp
amazon-kinesis-video-streams-producer-sdk-cpp copied to clipboard
[FEATURE] Kvssink deliver-images with putEventMetadata
Issue #, if available:
Description of changes:
- Introduced a new prop / attribute in kvssink which allows enabling / disabling image-generation
- Surfaced a public API- putEventMetadata from the C layer to the CPP layer
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Issue #, if available:
What was changed?
- Introduced a new prop / attribute in kvssink which allows enabling / disabling image-generation
Why was it changed?
- To maintain feature parity between producer c, cpp and kvssink
How was it changed?
- Surfaced a public API- putEventMetadata from the C layer to the CPP layer.
- It is invoked from gst_kvs_sink_handle_buffer for every key frame if the generate_images bool is set
What testing was done for the changes? Tested the following locally:
- Tested that the image tags were added to the video with mkvinfo when generate-images was set to TRUE
- Tested that setting generate-images to FALSE doesn't generate image tags in the video
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
As discussed in the other PR, please adjust to every N keyframes to make this feature more flexible.
Also, please edit PR title, description, GStreamer parameter description, etc to clearly mark that this feature is explicitly for s3 image delivery. The s3 delivery mkv simple tag is not needed for image generation through GetImages, and thus, "image generation" is already supported in its current state.
For completeness, can you also share an outline of the procedure you used to verify the tag was added and a screenshot of some media with the tag.
Discussed offline waiting for a change here to trigger a call to the put event metadata API based on receiving GST_EVENT_CUSTOM_DOWNSTREAM similar to the put fragment metadata API.
I will push for keeping consistent with the docs and calling this image delivery to avoid confusion with the other feature getimages https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html
Also, please update the readme as there is no information about how to use it.
@niyatim23 Do you have any updates for this PR? This feature would be really useful! 👍