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.

Video freezes using gstreamer

Hi,

I am running 6.02.01.02 and when I run a try to play an mp4 via HDMI it shows one frame and then freezes using the kmssink.

Here is the pipeline:  gst-inspect playbin2 uri=file:///<path-to-mp4> videosink=kmssink

Errors:

[12413.127441] omap-dma-engine 4a056000.dma-controller: freeing channel for 76
[12413.132781] virtio_rpmsg_bus virtio0: msg received with no recepient
[12413.145812] omapdss HDMI error: M = 618 Mf = 196608
[12413.150970] omapdss HDMI error: range = 1 sd = 6
[12413.156463] Enter hdmi_core_init
[12413.159881] Enable video_path

Pipeline is PREROLLING ...
WARNING: from element /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstAlsaSink:audiosink-actual-sink-alsa: Could not get/set settings from/on resource.
Additional debug info:
gstalsasink.c(410): set_hwparams (): /GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstAlsaSink:audiosink-actual-sink-alsa:
Unable to set buffer time 200000 for playback: Invalid argument

The pipeline identified in the GLSDK guide does not work either and does not show any video. (gst-launch playbin2 uri=file:///<path_to_file> video-sink=kmssink audio-sink="alsasink device=hw:1,0").

Errors

[13592.109405] omap-dma-engine 4a056000.dma-controller: freeing channel for 76
[13615.155944] omap-dma-engine 4a056000.dma-controller: allocating channel for 101
[13620.290008]  OMAP ABE Media1: ASoC: no backend DAIs enabled for OMAP ABE Media1
[13620.301330] omap-dma-engine 4a056000.dma-controller: freeing channel for 101

/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstAlsaSink:audiosink-actual-sink-alsa:
-sh: syntax error near unexpected token `410'
root@omap5-evm:~/gstreamer# Unable to set buffer time 200000 for playback: Invalid argument

Audio only seems to work fine if I use fakesink.

Any ideas?

Thanks,

Robert

  • Hello,

    Could you please try the following command:

    gst-launch playbin2 uri=file:///<path to file>

    Also try with different file. There are some known limitations with some specific mpeg4 streams see GLSDK release notes (http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_6.02.01.02_Release_Notes).

    I have tried the above command a couple of times with an mkv file and it works fine. 

    Best Regards,

    Yordan

  • Hi Yordan,

    I still am not having any luck playing mp4 or mkv files even without specifying the videosink.

    I've created videos, downloaded videos and also converted videos using handbrake into different containers and transport streams.

    They all freeze on the first frame and give me an error.

    I also tried some TI videos from http://www.ti.com/general/docs/video/Portal.tsp without any luck.

    Robert

  • Hi Robert,

      Are you running the amixer commands that are present in the OMAP5 Software Developers Guide in the section for running aplay?

    Thanks & Regards,

    Amarinder

  • No, I am not running the amixer commands.  I just boot and run gstreamer.

    My understanding is that the amixer commands are only necessary to stream via the headset output.  Setting those commands and running aplay works fine on both HDMI and the headset audio output.

    I am also able to successfully get a test pattern to work.

    gst-launch videotestsrc ! 'video/x-raw-yuv,width=1920,height=1080' ! kmssink

    However, streaming any type of mp5/mkv still does not work.

    Robert

  • Hello Robert,

    Could you try initializing the graphics driver first:

    target# pvrsrvinit

    And then use the video-sinks shown here:

    http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide#Running_a_gstreamer_pipeline

    Also see if video-sink = fakesink will return errors in your console.

    Best Regards,

    Yordan