After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 729008 - videorate: inconsistent behavior
videorate: inconsistent behavior
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.4.4
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-04-26 09:09 UTC by RajuB
Modified: 2018-11-03 11:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description RajuB 2014-04-26 09:09:36 UTC
I am using gstreamer-1.2.2 version. Currently I am doing decklinksink testing. These are the two pipelines I am using for testing. Each pipeline is run on different machine.

Pipeline1: File input and UDP output.
gst-launch-1.0 filesrc location=<file path> ! decodebin name=demux ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoconvert ! videoscale ! x264enc ! mpegtsmux name=mux ! rndbuffersize min=1316 max=1316 ! udpsink host=192.168.2.150 port=7766 demux.! tee ! queue ! audioconvert ! audioresample ! volume ! rsenc_aac ! mux.

Pipeline2: UDP input and SDI output.
gst-launch-1.0 udpsrc port=7766 ! tee ! queue ! decodebin name=demux ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoconvert ! tee ! queue ! videorate ! avvideoscale ! decklinksink device-number=1 mode=10 name=sink demux.! tee ! queue ! audioconvert ! audioresample ! volume ! sink.

The output of decklinksink is seen on standard SDI Monitor.

Issues facing: 
1. I will start pipeline1 first and after 1 min I will start the pipeline2. In this case video freezes on the output but audio plays.
2. If I start the pipeline1 first and pipeline2 after 1 min then video plays very fast and there will be no AVsync.

Is anybody else facing this issue?? Is this bug exist in the latest version also. Please help me in understanding this decklinksink behavior. Many thanks in advance.
Comment 1 RajuB 2014-05-01 07:20:05 UTC
Please ignore the above problem description, there are few mistakes. Here is the detailed description about the issue.

I am using gstreamer-1.2.2 version. Currently I am doing decklinksink testing. I am sending UDP output from one machine using Pipeline_1 and receiving it on another machine using Pipeline_X.

Pipeline_1: File input and UDP output.
gst-launch-1.0 filesrc location=<file path> ! decodebin name=demux ! tee ! queue ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoscale ! videoconvert ! videorate ! x264enc ! mpegtsmux name=mux ! rndbuffersize min=1316 max=1316 ! udpsink host=192.168.2.150 port=7766 demux.! tee ! queue ! audioconvert ! audioresample ! volume ! voaacenc ! mux.

Pipeline_2: UDP input and SDI output.
gst-launch-1.0 udpsrc port=7766 ! tee ! queue ! decodebin name=demux ! tee ! queue ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! decklinksink device-number=1 mode=10 name=sink demux.! tee ! queue ! audioconvert ! audioresample ! volume ! sink.

The output of decklinksink is seen on standard SDI Monitor.

Observatins_1:
1. I will start Pipeline_2 first and after 1 min I will start Pipeline_1. In this case video freezes on the output but audio plays.
2. If I start the Pipeline_1 first and Pipeline_2 after 1 min then video plays very fast and there will be no AVsync.

Initially I was of the opinion that decklinksink has the issue. Then I further debugged and found that the issue is in videorate plugin. This can be reproduced using below mentioned pipelines:

Pipeline_3: UDP input and yuv out.
gst-launch-1.0 udpsrc port=9999 ! tee ! queue ! decodebin ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! filesink location=out_videorate.yuv

Pipeline_4: UDP input and mpegts output.
gst-launch-1.0 udpsrc port=9999 ! tee ! queue ! decodebin name=demux ! tee ! queue ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! x264enc ! mpegtsmux name=mux ! filesink location=videorate_issue.ts demux.! tee ! queue ! audioconvert ! audioresample ! volume ! voaacenc ! sink.

Observatins_2:
1. I will start Pipeline_3 first and after 1 min I will start Pipeline_1. In this case video freezes on the output for 1 min then later plays fine till end.
2. I will start Pipeline_4 first and after 1 min I will start Pipeline_1. In this case output will be blank for 1 min then later plays fine till end.

Need quick help in understanding this behaviour. Is anybody else facing this issue?? 
Many thanks in advance.
Comment 2 RajuB 2014-12-03 06:18:35 UTC
I could see the similar behaviour in 1.4.4. also. Here is the simple pipeline to reproduce it.

gst-launch-1.0 udpsrc port=9999 ! tsdemux ! h264parse ! avdec_h264 ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! video/x-raw,width=176,height=144 ! videorate ! filesink location=~/videorate_issue.yuv -v

start this above pipeline and wait for 30 sec. Then start the UDP input. You can frame repetition in the output yuv file.

Many thanks in advance.
Comment 3 GStreamer system administrator 2018-11-03 11:29:38 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/117.