小编son*_*ave的帖子

gstreamer udp流媒体很慢

我正在研究视频应用程序,但遇到UDP流与TCP的问题.

当我使用下面的管道时,视频流可以接受.(应用程序本身是python,但管道基本上如下)

sender: 

gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=320,height=240 ! 
    theoraenc ! oggmux ! tcpclientsink host=nnn.nnn.nnn.nnn port = 5000

receiver: 

gst-launch-0.10 tcpserversrc host=nnn.nnn.nnn.nnn port=5000 
    ! decodebin ! xvimagesink
Run Code Online (Sandbox Code Playgroud)

但是,由于这个应用程序要跨越/通过NAT执行,我需要UDP流.当我将tcpserversrc切换为"udpsrc port = 5000"并将tcpclientsink切换为"udpsink host = nnn.nnn.nnn.nnnn port = 5000"时,性能急剧下降到接收计算机每5秒获取一个帧的程度或者.(即使两个流在同一台机器上执行,也会发生这种情况)

发送管道生成以下(一次):

WARNING: from element /GstPipeline:pipeline0/GstUDPSink:udpsink0: 
    Internal data flow problem.
    Additional debug info:
    gstbasesink.c(3492): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0
    /GstUDPSink:udpsink0:
    Received buffer without a new-segment. Assuming timestamps start from 0.
Run Code Online (Sandbox Code Playgroud)

...并且接收管道生成(每20秒左右):

WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: 
    A lot of buffers are being dropped.
    Additional debug info:
    gstbasesink.c(2739): gst_base_sink_is_too_late …
Run Code Online (Sandbox Code Playgroud)

streaming udp video-streaming gstreamer

8
推荐指数
1
解决办法
8209
查看次数

如何隐藏#pragma消息的额外输出

当前状态

在gcc bugtracker中提交的bug(包括简单的测试用例):https://gcc.gnu.org/bugzilla/show_bug.cgi id = 66234


我目前正在将一些代码移植到一个新的平台和工具链,其中包括从gcc 4.7.2升级到gcc 4.9.2(或者更具体地说,从2012年到2012年的OSELAS工具链升级 - 我也重现了这一行为在我的主机上与gcc 4.6.4(工程)和gcc 4.8.3(不起作用)).

在构建应用程序期间,我使用一些#pragma message语句来输出builddate和hostname(注意,BUILDTAG并且BUILDHOST还存储为应用程序之后使用的常量):

#define BUILDTAG (__DATE__  " "  __TIME__)
#define BUILDHOST BUILT_ON

#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)

#pragma message "Setting builddate to: " STR(BUILDTAG)
#pragma message "Building on: " STR(BUILDHOST)
Run Code Online (Sandbox Code Playgroud)

旧工具链(gcc 4.7.2/4.6.4)输出以下内容,这正是我想要的:

note: #pragma message: Setting builddate to: ("May 15 2015" " " 10:35:12")
note: #pragma message: Building on: my-host
Run Code Online (Sandbox Code Playgroud)

但是,新的工具链(gcc 4.9.2/4.8.3)给了我:

note: #pragma message: Setting builddate …
Run Code Online (Sandbox Code Playgroud)

gcc pragma c-preprocessor

6
推荐指数
1
解决办法
1694
查看次数

如何在linux中添加rt补丁

我想在Linux上添加rt补丁,我拿了3.18.9内核和3.18.9-rt4补丁.我将patch-3.18.9-rt4.tar.gz复制到Linux内核文件夹中.现在我执行了zcat补丁-3.18.9-rt4.tar.gz | patch -p1执行此命令后,它要求修补文件,如下所示

|--- a/arch/sparc/Kconfig
|+++ b/arch/sparc/Kconfig
--------------------------
File to patch:
Run Code Online (Sandbox Code Playgroud)

我想一次性添加所有补丁,我该如何实现?

linux patch

5
推荐指数
1
解决办法
1449
查看次数

关于FPGA中的顺序代码

在VHDL中,process所有步骤都将按顺序执行,但我想知道FPGA如何按顺序执行步骤.我对FPGA中如何生成顺序赋值,函数和类似内容感到非常困惑,所以有人可以对这个主题有所了解吗?

process(d, clk)  
begin    
  if(rising_edge(clk)) then  
    q <= d;  
  else
    q <= q;  
  end if;    
end process;
Run Code Online (Sandbox Code Playgroud)

这只是一个简单的D-Latch的代码,但是如何在FPGA中实现呢?

fpga vhdl

2
推荐指数
1
解决办法
859
查看次数

HAL_GPIO_EXTI_Callback() 中的上升和下降触发沿

我有一条数字输入GPIO线,每当输入发生变化时我都需要中断。在STM32CubeMX我将此引脚设置为一条EXTI线并将中断设置为在上升沿和下降沿触发。

当响应上升沿或下降沿HAL_GPIO_EXTI_Callback()调用该函数时,有没有办法知道是上升沿还是下降沿触发了中断?还是有必要打电话HAL_GPIO_ReadPin()来推断这一点?

回调的原型是:

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
Run Code Online (Sandbox Code Playgroud)

embedded arm stm32 cortex-m

2
推荐指数
1
解决办法
7613
查看次数

VHDL 中的上升沿是否可合成

在我编写此语句时的编码中,它是模拟的,但不可综合。为什么?现在我该怎么做才能解决这个问题???

IF ((DS0='1' OR DS1='1')and rising_edge(DS0) and rising_edge(DS1) AND DTACK='1' AND BERR='1') THEN
RV0 <= not RV;
else
RV0 <= RV;
Run Code Online (Sandbox Code Playgroud)

vhdl

1
推荐指数
1
解决办法
666
查看次数