[Bug 790000] New: rtph264depay: doesn't update resolution if format is avc

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Nov 7 04:31:40 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=790000

            Bug ID: 790000
           Summary: rtph264depay: doesn't update resolution if format is
                    avc
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: justin.joy.9to5 at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 363126
  --> https://bugzilla.gnome.org/attachment.cgi?id=363126&action=edit
rtph264depay: pass sprop-parameter-sets for avc format

A pipeline is failed if a resolution is changed while streaming avc format.
This might be a kind of regression by this commit.

https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/gst/rtp/gstrtph264depay.c?id=e7e7f262009852a8515fa6db336138b61a4c3aef

Reproducible steps

1. creating a series of images with different resolutions

```
$ gst-launch-1.0 videotestsrc num-buffers=10 ! video/x-raw,width=100,height=100
! jpegenc ! multifilesink location=%03d.jpg
$ gst-launch-1.0 launch videotestsrc num-buffers=10 !
video/x-raw,width=200,height=200 ! jpegenc ! multifilesink index=10
location=%03d.jpg
```

2. then playing images

``` 
$ gst-launch-1.0 multifilesrc location=%03d.jpg ! jpegdec ! x264enc
speed-preset=ultrafast ! rtph264pay  ! rtph264depay ! h264parse
config-interval=0 ! avdec_h264 ! fakesink
```

Error log

```
0:00:00.066541310 14731 0x56481c5d7c00 WARN                   libav
gstavviddec.c:1747:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264: decoding
error (len: -22, have_data: 0)
0:00:00.066577642 14731 0x56481c5d7c00 WARN            videodecoder
gstvideodecoder.c:1160:gst_video_decoder_sink_event_default:<avdec_h264-0>
error: No valid frames decoded before end of stream
0:00:00.066588401 14731 0x56481c5d7c00 WARN            videodecoder
gstvideodecoder.c:1160:gst_video_decoder_sink_event_default:<avdec_h264-0>
error: no valid frames found
ERROR: from element /GstPipeline:pipeline0/avdec_h264:avdec_h264-0: No valid
frames decoded before end of stream
Additional debug info:
../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c(1160):
gst_video_decoder_sink_event_default ():
/GstPipeline:pipeline0/avdec_h264:avdec_h264-0:
no valid frames found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
```

Before the commit, the pipeline plays well because rtph264depay adds SPS
regardless formats. However, after the commit, 'avc' format doesn't have SPS so
the pipeline can't know which properties are changed.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list