[Bug 754178] gst-discoverer doesn't detect both audio and video of RTSP streams
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Jun 27 01:06:34 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=754178
--- Comment #19 from Mathieu Duponchelle <mduponchelle1 at gmail.com> ---
Here's yet another take on this, as Sebastian asked previously, this patch only
posts a topology once all the decodebins have posted theirs, then posts a new,
correctly updated topology every time a decodebin posts a new topology (the old
topology is replaced with the new one).
As for the whole "container" issue, I'm afraid we can't do much without
breaking an unfortunate amount of programs calling that API.
The previously proposed patch had all discoveries wrapped in a dummy container,
this new patch at least retains the old behavior for the standard case where a
single topology was obtained and propagated upstream, the only case where we do
have a dummy container is the previously-broken case, such as the one this
issue was about.
Here's an example output:
meh master ~ devel sandbox gst-build-master GST_DEBUG=0
gst-discoverer-1.0 -v rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
Analyzing rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
Done discovering rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov
Topology:
container: text/x-uri
unknown: application/x-rtp, media=(string)video, payload=(int)97,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42C01E,
sprop-parameter-sets=(string)"Z0LAHtkDxWhAAAADAEAAAAwDxYuS\,aMuMsg\=\=",
a-framesize=(string)240-160, a-sdplang=(string)en,
a-cliprect=(string)"0\,0\,160\,240", a-framerate=(string)24.0,
ssrc=(uint)695662262, clock-base=(uint)0, seqnum-base=(uint)1,
npt-start=(guint64)0, npt-stop=(guint64)596480000000, play-speed=(double)1,
play-scale=(double)1
video: video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142c01effe100156742c01ed903c56840000003004000000c03c58b9201000468cb8cb2,
level=(string)3, profile=(string)constrained-baseline, width=(int)240,
height=(int)160, framerate=(fraction)0/1, interlace-mode=(string)progressive,
parsed=(boolean)true
Tags:
video codec: H.264 (Constrained Baseline Profile)
Codec:
video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142c01effe100156742c01ed903c56840000003004000000c03c58b9201000468cb8cb2,
level=(string)3, profile=(string)constrained-baseline, width=(int)240,
height=(int)160, framerate=(fraction)0/1, interlace-mode=(string)progressive,
parsed=(boolean)true
Additional info:
None
Stream ID:
b62e9a00f1bd1881d4e436344e14b135d8ac17373100c4fe9903286bb006129a/video:0:0:RTP:AVP:97
Width: 240
Height: 160
Depth: 24
Frame rate: 0/1
Pixel aspect ratio: 1/1
Interlaced: false
Bitrate: 0
Max bitrate: 0
unknown: application/x-rtp, media=(string)audio, payload=(int)96,
clock-rate=(int)12000, encoding-name=(string)MPEG4-GENERIC,
encoding-params=(string)2, profile-level-id=(string)1, mode=(string)AAC-hbr,
sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3,
config=(string)1490, a-sdplang=(string)en, ssrc=(uint)969373029,
clock-base=(uint)0, seqnum-base=(uint)1, npt-start=(guint64)0,
npt-stop=(guint64)596480000000, play-speed=(double)1, play-scale=(double)1
audio: audio/mpeg, mpegversion=(int)4, stream-format=(string)raw,
codec_data=(buffer)1490, framed=(boolean)true, level=(string)1,
base-profile=(string)lc, profile=(string)lc, rate=(int)12000, channels=(int)2
Tags:
audio codec: MPEG-4 AAC
Codec:
audio/mpeg, mpegversion=(int)4, stream-format=(string)raw,
codec_data=(buffer)1490, framed=(boolean)true, level=(string)1,
base-profile=(string)lc, profile=(string)lc, rate=(int)12000, channels=(int)2
Additional info:
None
Stream ID:
b9049c323800fa1dbf0c9c2f5d6dcf0e63b50fc2c5030d1c14e44a893d14e333/audio:0:0:RTP:AVP:96
Language: <unknown>
Channels: 2
Sample rate: 12000
Depth: 32
Bitrate: 0
Max bitrate: 0
Properties:
Duration: 0:09:56.480000000
Seekable: yes
Tags:
audio codec: MPEG-4 AAC
video codec: H.264 (Constrained Baseline Profile)
meh master ~ devel sandbox gst-build-master
--
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