-
Notifications
You must be signed in to change notification settings - Fork 24
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
Support C610 and audio Player by GStreamer #116
Conversation
set webrtc sdk to tag v1.8.1
ca3f26b
to
96e88e1
Compare
a0a140d
to
95d3189
Compare
strategy: | ||
matrix: | ||
container: | ||
["482862934379.dkr.ecr.us-east-1.amazonaws.com/qualcomm:latest"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have we uploaded this docker image to ECR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have we uploaded this docker image to ECR?
Yes, we have already uploaded it.
3rdparty/GSTREAMER/GSTREAMERGstCmd.h
Outdated
@@ -0,0 +1,32 @@ | |||
/* | |||
* Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove 2023
-> Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||
// video: | ||
// gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.60:554/stream0 latency=500 ! rtph264depay ! queue ! h264parse config-interval=1 ! mpegtsmux name=muxer ! tcpserversink host=127.0.0.1 port=8501 & | ||
// "tcpclientsrc host=127.0.0.1 port=8502 ! tsdemux name=muxer ! h264parse ! appsink name=sink" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May I know why can't we stream rtsp directly to appsink, but with a tcpserversink
and tcpclientsrc
in the middle?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This way, no matter what source you use, as long as you send it to TCP 127.0.0.1, the webrtc program can receive it without changing the logic.
Maybe rtspsrc, v4l2src ...
This way, no matter what source you use, as long as you send it to TCP 127.0.0.1, the webrtc program can receive it without changing the logic.
Maybe rtspsrc, v4l2src ...
3rdparty/GSTREAMER/GSTREAMERPort.c
Outdated
gchar* debug_info; | ||
|
||
if ((bus == NULL) || (msg == NULL)) { | ||
goto CleanUp; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike KVS WebRTC SDK, we'd like to avoid use goto
in new code.
3rdparty/GSTREAMER/GSTREAMERPort.c
Outdated
* @param[in] msg the msg of the callback. | ||
* @param[in] udata the user data. | ||
* | ||
* @return STATUS code of the execution. STATUS_SUCCESS on success |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no status code returned in this function as well
3rdparty/GSTREAMER/GSTREAMERPort.c
Outdated
pipeline = g_pipeline[AUDIO_PLAYER_PIPELINE]; | ||
break; | ||
default: | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider return error code if there is an unknown type
3rdparty/GSTREAMER/GSTREAMERPort.c
Outdated
return; | ||
} | ||
|
||
static int initGstAppSinkSrc(GSTAppSinkSrc *handle, GSTAppModuleType type) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mark GSTAppModuleType
as const
, same for other functions in this file
Please configure the Qualcomm build environment first. | ||
Replacing CMake configuration file. | ||
``` | ||
export OE_CMAKE_TOOLCHAIN_FILE=3rdparty/QCS610/OEToolchainConfig.cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's a yocto based build system, should it be better if user have a recipe for this project?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's a yocto based build system, should it be better if user have a recipe for this project?
It is not compiled on Yocto, only cross-compiled on Ubuntu. So there is no Yocto recipe file written for it.
3rdparty/README.md
Outdated
|
||
Gstreamer capturer receive and retrieve audio and video from the device through the Gstreamer pipeline. It require user to manually install Gstreamer library. You may install it via: | ||
``` | ||
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider using apt
instead of apt-get
CMakeLists.txt
Outdated
@@ -8,6 +8,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) | |||
set(CMAKE_POSITION_INDEPENDENT_CODE ON) | |||
|
|||
option(USE_MUCLIBC "Use muclibc" OFF) | |||
set(SRCBOARD ${BOARD}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using BOARD_SRC_PREFIX
instead of SRCBOARD
95d3189
to
80b96f2
Compare
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.