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

ERROR:/home/dg/simulation_ws/src/gscam/src/gscam.cpp:167:bool gscam::GSCam::init_stream(): assertion failed: (outpad) #88

Open
aristow1 opened this issue Jan 9, 2023 · 3 comments

Comments

@aristow1
Copy link

aristow1 commented Jan 9, 2023

Hi

Im having issues starting my camera with GStreamer with this package, the camera works fine when i type this in the terminal without using ros :
gst-launch-1.0 udpsrc port=5004 ! application/x-rtp, payload=96 ! rtph264depay ! avdec_h264 ! autovideosink

i reconfigured the v4l.launch file and looks like this :

<launch>
  <!-- This launchfile should bring up a node that broadcasts a ros image
       transport on /webcam/image_raw -->

  <arg name="DEVICE" default="arkcam"/>
  <!-- The GStreamer framerate needs to be an integral fraction -->
  <arg name="FPS" default="30/1"/>
  <arg name="PUBLISH_FRAME" default="false"/>
  <arg name="GST10" default="True"/>

  <node ns="v4l" name="gscam_driver_v4l" pkg="gscam" type="gscam" output="screen">
    <param name="camera_name" value="arkcam"/>
    <param name="camera_info_url" value="package://gscam/examples/uncalibrated_parameters.ini"/>
    <param unless="$(arg GST10)" name="gscam_config" value="udpsrc port=5008 ! application/x-rtp, payload=96 ! rtph264depay ! avdec_h264 ! autovideosink"/>
    <param if="$(arg GST10)" name="gscam_config" value="udpsrc port=5008 ! application/x-rtp, payload=96 ! rtph264depay ! avdec_h264 ! autovideosink"/>
    <param name="frame_id" value="/v4l_frame"/>
    <param name="sync_sink" value="true"/>
  </node>


</launch>

however when i launch this file i get the following error :

ERROR:/home/dg/simulation_ws/src/gscam/src/gscam.cpp:167:bool gscam::GSCam::init_stream(): assertion failed: (outpad)

any help would be appreciated. thank you

@czyczycc
Copy link

Hello, I encountered the same error as you. Have you resolved it? May I ask for your advice?

@czyczycc
Copy link

@aristow1

@clydemcqueen
Copy link

The assertion failure is because autovideosink is a sink -- therefore it doesn't have an output pad.

You need to end the pipeline with something like videoconvert which has an input pad and an output pad. Try this:

 <param name="udpsrc port=5008 ! application/x-rtp, payload=96 ! rtph264depay ! avdec_h264 ! videoconvert" />

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants