This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Gstreamer development with appsrc got green screen ?

Hi all

I have Vayu board with a LCD display, and rootfs of the GLSDK 7.03.00.03.

I follow the Gstreamer programming guide to develop the appsrc pipeline, and change the pipeline to appsrc->vpe->kmssink

The board shows the green screen with the correct size.

But if i change the pipeline to videotestsrc->vpe->kmssink, it works correctly.

The following is the VPE debug message, I find the difference between these two cases.

In the pipeline appsrc->vpe->kmssink, the code does not execute into gstvpebufferpool.c and gstvpebuffer.c

What is the problem in appsrc?

Thank you for your help.

0:00:00.060991215 13501 0x27ed140 DEBUG vpe gstvpe.c:895:gst_vpe_change_state:<vpe1> begin: changing state NULL -> READY

0:00:00.061158762 13501 0x27ed140 DEBUG vpe gstvpe.c:907:gst_vpe_change_state:<vpe1> parent state change returned: 1
0:00:00.061225943 13501 0x27ed140 DEBUG vpe gstvpe.c:923:gst_vpe_change_state:<vpe1> end
0:00:00.061497109 13501 0x27ed140 DEBUG vpe gstvpe.c:895:gst_vpe_change_state:<vpe1> begin: changing state READY -> PAUSED
0:00:00.061573887 13501 0x27ed140 DEBUG vpe gstvpe.c:640:gst_vpe_activate_mode:<vpe1> gst_vpe_activate_mode (active = 1)
0:00:00.061844239 13501 0x27ed140 DEBUG vpe gstvpe.c:647:gst_vpe_activate_mode:<vpe1> gst_pad_start_task returned 1
0:00:00.061928338 13501 0x27ed140 DEBUG vpe gstvpe.c:907:gst_vpe_change_state:<vpe1> parent state change returned: 1
0:00:00.061986898 13501 0x27ed140 DEBUG vpe gstvpe.c:923:gst_vpe_change_state:<vpe1> end
0:00:00.062803647 13501 0x27dd0c0 DEBUG vpe gstvpe.c:818:gst_vpe_event:<vpe1> begin: event=stream-start
0:00:00.062982906 13501 0x27dd0c0 DEBUG vpe gstvpe.c:862:gst_vpe_event:<vpe1> end ret=1
0:00:00.063212754 13501 0x27dd0c0 DEBUG vpe gstvpe.c:818:gst_vpe_event:<vpe1> begin: event=caps
0:00:00.063325807 13501 0x27dd0c0 DEBUG vpe gstvpe.c:114:gst_vpe_parse_input_caps:<vpe1> Input caps: video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)30/1
0:00:00.063551101 13501 0x27dd0c0 DEBUG vpe gstvpe.c:185:gst_vpe_set_output_caps:<vpe1> Downstream allowed caps: video/x-raw, format=(string)NV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.063620722 13501 0x27dd0c0 DEBUG vpe gstvpe.c:219:gst_vpe_set_output_caps:<vpe1> Passthrough = TRUE
0:00:00.064120922 13501 0x27dd0c0 INFO vpe gstvpe.c:671:gst_vpe_sink_setcaps:<vpe1> set caps done 1
0:00:00.064243573 13501 0x27dd0c0 DEBUG vpe gstvpe.c:469:gst_vpe_create:<vpe1> dce_init() done
0:00:00.064334991 13501 0x27dd0c0 DEBUG vpe gstvpe.c:114:gst_vpe_parse_input_caps:<vpe1> Input caps: video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)30/1
0:00:00.064406239 13501 0x27dd0c0 DEBUG vpe gstvpe.c:120:gst_vpe_parse_input_caps:<vpe1> Already set caps comapred with the new caps, returned TRUE
0:00:00.064465287 13501 0x27dd0c0 DEBUG vpe gstvpe.c:496:gst_vpe_init_input_bufs:<vpe1> Using min input buffers: 12
0:00:00.064520757 13501 0x27dd0c0 DEBUG vpe gstvpe.c:497:gst_vpe_init_input_bufs:<vpe1> parse/set caps done
0:00:00.064753533 13501 0x27dd0c0 DEBUG vpe gstvpe.c:503:gst_vpe_init_input_bufs:<vpe1> gst_vpe_init_input_buffers done
0:00:00.067208335 13501 0x27dd0c0 DEBUG vpe gstvpe.c:818:gst_vpe_event:<vpe1> begin: event=segment
0:00:00.067307237 13501 0x27dd0c0 DEBUG vpe gstvpe.c:862:gst_vpe_event:<vpe1> end ret=1
0:00:00.067419151 13501 0x27dd0c0 DEBUG vpe gstvpe.c:747:gst_vpe_chain:<vpe1> chain: 0:00:00.000000000 ( ptr 0xb4d07900)
0:00:00.067526511 13501 0x27dd0c0 DEBUG vpe gstvpe.c:114:gst_vpe_parse_input_caps:<vpe1> Input caps: video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)30/1
0:00:00.067596946 13501 0x27dd0c0 DEBUG vpe gstvpe.c:120:gst_vpe_parse_input_caps:<vpe1> Already set caps comapred with the new caps, returned TRUE
0:00:00.067654530 13501 0x27dd0c0 DEBUG vpe gstvpe.c:496:gst_vpe_init_input_bufs:<vpe1> Using min input buffers: 12
0:00:00.067708535 13501 0x27dd0c0 DEBUG vpe gstvpe.c:497:gst_vpe_init_input_bufs:<vpe1> parse/set caps done
0:00:00.067835253 13501 0x27dd0c0 DEBUG vpe gstvpe.c:219:gst_vpe_set_output_caps:<vpe1> Passthrough = TRUE
0:00:00.068031266 13501 0x27dd0c0 DEBUG vpe gstvpe.c:782:gst_vpe_chain:<vpe1> Passthrough for VPE
0:00:00.069043378 13501 0xb4d02780 DEBUG vpe gstvpe.c:871:gst_vpe_src_event:<vpe1> begin: event=latency
0:00:00.069181157 13501 0xb4d02780 DEBUG vpe gstvpe.c:882:gst_vpe_src_event:<vpe1> end
0:00:00.069590751 13501 0xb4d02780 DEBUG vpe gstvpe.c:895:gst_vpe_change_state:<vpe1> begin: changing state PAUSED -> PLAYING
0:00:00.069722674 13501 0xb4d02780 DEBUG vpe gstvpe.c:907:gst_vpe_change_state:<vpe1> parent state change returned: 1
0:00:00.069822389 13501 0xb4d02780 DEBUG vpe gstvpe.c:923:gst_vpe_change_state:<vpe1> end
0:00:00.169012130 13501 0x27dd0c0 DEBUG vpe gstvpe.c:747:gst_vpe_chain:<vpe1> chain: 0:00:00.500000000 ( ptr 0xb4d07a40)
0:00:00.169121604 13501 0x27dd0c0 DEBUG vpe gstvpe.c:782:gst_vpe_chain:<vpe1> Passthrough for VPE
0:00:00.569314950 13501 0x27dd0c0 DEBUG vpe gstvpe.c:871:gst_vpe_src_event:<vpe1> begin: event=qos
0:00:00.571664345 13501 0x27dd0c0 DEBUG vpe gstvpe.c:882:gst_vpe_src_event:<vpe1> end
0:00:00.573822118 13501 0x27dd0c0 DEBUG vpe gstvpe.c:747:gst_vpe_chain:<vpe1> chain: 0:00:01.000000000 ( ptr 0xb4d07b80)
0:00:00.573996985 13501 0x27dd0c0 DEBUG vpe gstvpe.c:782:gst_vpe_chain:<vpe1> Passthrough for VPE
0:00:01.069379610 13501 0x27dd0c0 DEBUG vpe gstvpe.c:871:gst_vpe_src_event:<vpe1> begin: event=qos
0:00:01.071536895 13501 0x27dd0c0 DEBUG vpe gstvpe.c:882:gst_vpe_src_event:<vpe1> end
0:00:01.073717116 13501 0x27dd0c0 DEBUG vpe gstvpe.c:747:gst_vpe_chain:<vpe1> chain: 0:00:01.500000000 ( ptr 0xb4d07cc0)
0:00:01.073893772 13501 0x27dd0c0 DEBUG vpe gstvpe.c:782:gst_vpe_chain:<vpe1> Passthrough for VPE
0:00:01.569397747 13501 0x27dd0c0 DEBUG vpe gstvpe.c:871:gst_vpe_src_event:<vpe1> begin: event=qos
0:00:01.569477779 13501 0x27dd0c0 DEBUG vpe gstvpe.c:882:gst_vpe_src_event:<vpe1> end
0:00:01.571646288 13501 0x27dd0c0 DEBUG vpe gstvpe.c:747:gst_vpe_chain:<vpe1> chain: 0:00:02.000000000 ( ptr 0xb4d07e00)
0:00:01.571703547 13501 0x27dd0c0 DEBUG vpe gstvpe.c:782:gst_vpe_chain:<vpe1> Passthrough for VPE

  • Hello,

    What is the gstreamer version that you are using?

    Keep in mind that the manual which you pointed is for 1.7 gstreamer version.
    There are differences between 1.0+ to 0.10 for example or 0.8.
    I would recommend you to check the version that you are using and to find accordingly the same manual.

    BR
    Margarita