=?utf-8?Q?=E5=9B=9E=E5=A4=8D=EF=BC=9A_?=Do not dropping any video frame (if frame is late) in "playbin" with living streaming

jojo rjiejie at gmail.com
Sun Jan 19 23:51:24 PST 2014


Hi Tim,

In source side (appsrc), i have set "min-latency" to "0" about for living source,  

there is no effect for dropping frame in "playbin".

Also from my log as bellow, i think about the "dropping frame" behavior happened in decoder (amcvideodec in here),

i see some source code of "amccodec" plugin, maybe the feature "QOS" effect the decoder to drop late frame ?

and whether i can disable "QOS" feature in source side ?  

01-18 14:21:04.710: W/GStreamer+bufferpool(3147): 0:00:33.405310541 0x67d59690 gstbufferpool.c:632:gst_buffer_pool_set_config:<eglimagebufferpool0> can't change config, we are active
01-18 14:21:04.710: W/GStreamer+bufferpool(3147): 0:00:33.405463143 0x67d59690 gstbufferpool.c:632:gst_buffer_pool_set_config:<eglimagebufferpool0> can't change config, we are active
01-18 14:21:04.750: W/GStreamer+amcvideodec(3147): 0:00:33.438089422 0x67d59690 gstamcvideodec.c:1147:gst_amc_video_dec_loop:<amcvideodec-omxqcomvideodecoderavc0> Frame is too late, dropping (deadline 0:00:00.585545551)
01-18 14:21:04.750: W/GStreamer+amcvideodec(3147): 0:00:33.438974513 0x67d59690 gstamcvideodec.c:1147:gst_amc_video_dec_loop:<amcvideodec-omxqcomvideodecoderavc0> Frame is too late, dropping (deadline 0:00:00.551851060)
01-18 14:21:04.750: W/GStreamer+amcvideodec(3147): 0:00:33.440683653 0x67d59690 gstamcvideodec.c:1147:gst_amc_video_dec_loop:<amcvideodec-omxqcomvideodecoderavc0> Frame is too late, dropping (deadline 0:00:00.519438424)


Thanks,

- Jojo


在 2014年1月18日星期六,下午10:32,Tim Müller 写道:

> On Sat, 2014-01-18 at 14:42 +0800, jojo wrote:
>  
> Hi,
>  
> > My gstreamer prebuilt version is :
> > "gstreamer-1.0-android-arm-1.2.0-release"
> >  
> > I launch gstreamer as :
> >  
> > "appsrc is-live=true do-timestamp=true" -> playbin ->
> > GST_VIDEO_OVERLAY
> >  
> > and push data from another thread as :
> >  
> > gst_app_src_push_buffer()
> >  
> > BTW, my living stream just include video as h264
> >  
> > I want to play video without dropping any frame in "playbin" just
> > because of the frame is late :(
> >  
> > Could anyone give me any hints to fix this ? thanks.
>  
> There are two places where you can tweak things:
>  
> 1) at the source: you have a live source, and can make it answer the
> latency query by setting the min-/max-latency properties on appsrc. The
> sink will query this and then knows that it might take that much time
> for the frame to be captured and make its way through the pipeline.
>  
> 2) at the sink: you can create an eglglessink yourself and set it on
> playbin via the video-sink property. Sinks have a 'max-lateness'
> property, which determines how late buffers have to be before they will
> be dropped. So you can tweak that or even unset it (not recommended, and
> shouldn't be necessary) to allow for more lateness. The default for this
> is 20ms.
>  
> You can also set the "sync" property on the sink to FALSE, but I would
> not recommend it, then the sink will not look at the timestamps at all
> any more and you may get very jittery video.
>  
> Cheers
> -Tim
>  
> --  
> Tim Müller, Centricular Ltd - http://www.centricular.com
>  
> _______________________________________________
> gstreamer-android mailing list
> gstreamer-android at lists.freedesktop.org (mailto:gstreamer-android at lists.freedesktop.org)
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-android
>  
>  


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-android/attachments/20140120/59f266c0/attachment.html>


More information about the gstreamer-android mailing list