2015-07-01, 11:34
regarding the kodi log files, opening / switching a channel in live-tv opens a video decoder twice.
Following the 2 backtraces:
The second call is because CheckStreamChanges detects differences, they are based on extradata.
Refering to void CDVDPlayer::CheckStreamChanges(CCurrentStream& current, CDemuxStream* stream)
current.hint has no extradata applied:
but CDVDStreamInfo tmp(*stream, true); has:
Before I start investigating: Is this a known issue?
- latest master branch state
- MFCCodec (odroid specific)
- Linux 15.04
- TVHeadend
- MPeg2 HTS Video (but the issue is - as I remember not format specific)
Thanks! Let me know if you need more information.....
Following the 2 backtraces:
Code:
#0 CDVDPlayer::OpenStream (this=0x31409d0, current=..., iStream=0, source=256, reset=false) at DVDPlayer.cpp:3259
#1 0x016fa9b4 in CDVDPlayer::OpenDefaultStreams (this=0x31409d0, reset=false) at DVDPlayer.cpp:843
#2 0x016fb066 in CDVDPlayer::ReadPacket (this=0x31409d0, packet=@0xa39fdd28: 0x9ef074a0, stream=@0xa39fdd2c: 0x0) at DVDPlayer.cpp:952
#3 0x016fbe08 in CDVDPlayer::Process (this=0x31409d0) at DVDPlayer.cpp:1319
#4 0x01855724 in CThread::Action (this=0x31409d8) at Thread.cpp:221
#5 0x01855498 in CThread::staticThread (data=0x31409d8) at Thread.cpp:131
#6 0xb6b8a490 in start_thread (arg=0x0) at pthread_create.c:335
#7 0xb4dc0c4c in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
#0 CDVDPlayer::OpenStream (this=0x31409d0, current=..., iStream=0, source=256, reset=true) at DVDPlayer.cpp:3259
#1 0x016fc64e in CDVDPlayer::CheckStreamChanges (this=0x31409d0, current=..., stream=0xa3b00a48) at DVDPlayer.cpp:1530
#2 0x016fc8bc in CDVDPlayer::ProcessVideoData (this=0x31409d0, pStream=0xa3b00a48, pPacket=0x9ef01900) at DVDPlayer.cpp:1578
#3 0x016fc57e in CDVDPlayer::ProcessPacket (this=0x31409d0, pStream=0xa3b00a48, pPacket=0x9ef01900) at DVDPlayer.cpp:1509
#4 0x016fc34e in CDVDPlayer::Process (this=0x31409d0) at DVDPlayer.cpp:1464
#5 0x01855724 in CThread::Action (this=0x31409d8) at Thread.cpp:221
#6 0x01855498 in CThread::staticThread (data=0x31409d8) at Thread.cpp:131
#7 0xb6b8a490 in start_thread (arg=0x0) at pthread_create.c:335
#8 0xb4dc0c4c in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /lib/arm-linux-gnueabihf/libc.so.6
The second call is because CheckStreamChanges detects differences, they are based on extradata.
Refering to void CDVDPlayer::CheckStreamChanges(CCurrentStream& current, CDemuxStream* stream)
current.hint has no extradata applied:
Code:
$8 = {codec = AV_CODEC_ID_MPEG2VIDEO, type = STREAM_VIDEO, flags = 0, software = false, filename = "", fpsscale = 40000, fpsrate = 1000000, height = 576, width = 720, aspect = 0, vfr = false, stills = false, level = -99, profile = -99, p
tsinvalid = false, forced_aspect = false, orientation = 0, bitsperpixel = 0, pid = 1, stereo_mode = "mono", channels = 0, samplerate = 0, bitrate = 0, blockalign = 0, bitspersample = 0, extradata = 0x0, extrasize = 0, codec_tag = 0}
but CDVDStreamInfo tmp(*stream, true); has:
Code:
$7 = {codec = AV_CODEC_ID_MPEG2VIDEO, type = STREAM_VIDEO, flags = 0, software = false, filename = "", fpsscale = 40000, fpsrate = 1000000, height = 576, width = 720, aspect = 0, vfr = false, stills = false, level = -99, profile = -99, p
tsinvalid = false, forced_aspect = false, orientation = 0, bitsperpixel = 0, pid = 1, stereo_mode = "mono", channels = 0, samplerate = 0, bitrate = 0, blockalign = 0, bitspersample = 0, extradata = 0xa3f0a438, extrasize = 150, codec_tag
= 0}
Before I start investigating: Is this a known issue?
- latest master branch state
- MFCCodec (odroid specific)
- Linux 15.04
- TVHeadend
- MPeg2 HTS Video (but the issue is - as I remember not format specific)
Thanks! Let me know if you need more information.....