[FFmpeg-trac] #10(avformat:new): rtsp method PLAY fails (status_code = 400) with some locales (non-English like)

FFmpeg trac at avcodec.org
Wed Mar 16 11:54:51 CET 2011


#10: rtsp method PLAY fails (status_code = 400) with some locales (non-English
like)
---------------------+----------------------
  Reporter:  navi    |      Owner:  michael
      Type:  defect  |     Status:  new
  Priority:  normal  |  Component:  avformat
   Version:          |   Keywords:  rtsp
Blocked By:          |   Blocking:
Reproduced:  0       |   Analyzed:  0
---------------------+----------------------
 In libavformat/rtspdec.c:
 ...
 rtsp_read_play()
 {
 ...
         snprintf(cmd, sizeof(cmd),
                 "Range: npt=%0.3f-\r\n",
                 (double)rt->seek_timestamp / AV_TIME_BASE);
 ...
 }
 "cmd" can contain "Range: npt=0,000-" instead of "Range: npt=0.000-"
 bacause of some applications use a locale with a comma as a decimal
 delimiter.
 This case RTSP request will return a status code 400 (Bad Request).
 xxprintf functions use current locale settings, see <locale.h>

 History:
 I tried to play a RTSP stream in a Qt library based application.
 Result: av_open_input_file fails, but a non-Qt applications and tutorials
 play streaming video. Tracing a source of error I found that "Range:
 npt=0,000-" sent with a PLAY method. Qt changes ansi C locale to a current
 system locale. Default decimal delimiter is a comma in my case. It was a
 reason of my troubles. Now I call setlocale(LC_ALL, "C") before open a
 stream to make some fast crutch.

-- 
Ticket URL: <https://avcodec.org/trac/ffmpeg/ticket/10>
FFmpeg <https://avcodec.org/trac/ffmpeg>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list