如何在gstreamer管道中的某个时间内丢弃缓冲区?

时间:2013-04-08 04:42:59

标签: debugging gstreamer

我正在通过执行跟踪调试gstreamer应用程序。我有以下管道解码mp4文件,我正在使用identity drop-probability丢弃管道中的数据包。我这样做是为了模拟流中丢失的数据包。

gst-launch filesrc location=data/pub_Irma.mp4 ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! identity drop-probability=0.5 ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

此管道将50%的缓冲区丢弃到ffdec_h264 。问题是它是单调的,最后看起来像是常规行为。我想要相同的行为,但仅限于特定时间段和某个时间戳。

这就像是说将50%的缓冲区下载到ffdec_h264,从10秒开始,到15秒结束

提前致谢

1 个答案:

答案 0 :(得分:1)

编写一个小应用程序并使用pad探测器可能更​​容易。探针回调可以删除缓冲区。它还可以查看缓冲区ts以决定是否丢弃。