miniDLNAいじり、というかffmpegが謎

今週のFAILY TAIL #33に対して、BRAVIA様が「再生できません」とおっしゃるので、調べてみた。
ファイルサイズはそれなりで、ちゃんと録れてるように見えるが、DBではdurationとbitrateがNULLになってる。
durationがNULLだと、TimeSeekの計算がおかしくなって、

Content-Length: -9223372032882253840
TimeSeekRange.dlna.org: npt=-inf-inf/inf bytes -9223372036854775808-3972521967/3972521968

こんなヘッダを返していた。こりゃ再生できないね。
durationを拾えないのはav_find_stream_info()の結果がおかしいから。おかしい原因は気になるが、ffmpegの中にまで立ち入ると死んじゃう。しょうがないのでこの場合、TimeSeekじゃなくてRangeSeekを使うように、

contentFeatures.dlna.org: DLNA.ORG_PN=MPEG_TS_HD_60_L2_ISO;DLNA.ORG_OP=01;DLNA.ORG_CI=0

を返すようにした。ちなみにTimeSeek上等の場合は、DLNA.ORG_OP=11になる。