GNOME Bugzilla – Bug 617636
[rtsp] uses unicode characters in date string
Last modified: 2010-05-05 12:27:24 UTC
Here is the conversation, captured with the Wireshark. =====8<===== OPTIONS rtsp://192.168.24.221/test.mov RTSP/1.0 CSeq: 1 User-Agent: RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95) ClientChallenge: 9e26d33f2984236010ef6253fb1887f7 CompanyID: KnKV4M4I/B2FjJ1TToLycw== GUID: 00000000-0000-0000-0000-000000000000 RegionData: 0 PlayerStarttime: [28/03/2003:22:50:23 00:00] ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586 Date: ......, 04 ...... 2010 08:57:04 GMT RTSP/1.0 400 Bad Request Server: feng/2.1.0_rc1 Date: Tue, 04 May 2010 08:59:06 GMT =====8<===== The Date: header contains Unicode characters. This conversation was resulted by the command $ gst-launch rtspsrc location="rtsp://192.168.24.221/test.mov" debug=true ! fakesink The command output is the following. =====8<===== Setting pipeline to PAUSED ... RTSP request message 0xbff2fc94 request line: method: 'OPTIONS' uri: 'rtsp://192.168.24.221/test.mov' version: '1.0' headers: key: 'User-Agent', value: 'RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)' key: 'ClientChallenge', value: '9e26d33f2984236010ef6253fb1887f7' key: 'CompanyID', value: 'KnKV4M4I/B2FjJ1TToLycw==' key: 'GUID', value: '00000000-0000-0000-0000-000000000000' key: 'RegionData', value: '0' key: 'PlayerStarttime', value: '[28/03/2003:22:50:23 00:00]' key: 'ClientID', value: 'Linux_2.4_6.0.9.1235_play32_RN01_EN_586' body: RTSP response message 0xbff2fc78 status line: code: '400' reason: 'Bad Request' version: '1.0' headers: key: 'Server', value: 'feng/2.1.0_rc1' key: 'Date', value: 'Tue, 04 May 2010 08:52:11 GMT' body: length 0 ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not read from resource. Additional debug info: gstrtspsrc.c(4066): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Got error response: 400 (Bad Request). Setting pipeline to NULL ... Freeing pipeline .. =====8<===== The RTSP standard states http://www.ietf.org/rfc/rfc2616.txt All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception. For the purposes of HTTP, GMT is exactly equal to UTC (Coordinated Universal Time). This is indicated in the first two formats by the inclusion of "GMT" as the three-letter abbreviation for time zone, and MUST be assumed when reading the asctime format. HTTP-date is case sensitive and MUST NOT include additional LWS beyond that specifically included as SP in the grammar. HTTP-date = rfc1123-date | rfc850-date | asctime-date rfc1123-date = wkday "," SP date1 SP time SP "GMT" rfc850-date = weekday "," SP date2 SP time SP "GMT" asctime-date = wkday SP date3 SP time SP 4DIGIT date1 = 2DIGIT SP month SP 4DIGIT ; day month year (e.g., 02 Jun 1982) date2 = 2DIGIT "-" month "-" 2DIGIT ; day-month-year (e.g., 02-Jun-82) date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) ; month day (e.g., Jun 2) time = 2DIGIT ":" 2DIGIT ":" 2DIGIT ; 00:00:00 - 23:59:59 wkday = "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun" weekday = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday" month = "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Jun" | "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec" I've also filed a bug to the FENG RTSP server: http://bugs.lscube.org/show_bug.cgi?id=14
Created attachment 160263 [details] [review] rtsp: weekday and month names in RTSP date string should be in C locale Does this patch help?
commit 7fee2c0fe7aeb9f743a6676bef07ed657e8025e2 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Tue May 4 15:32:59 2010 +0100 rtsp: weekday and month names in RTSP date string should be in C locale Create date string using C locale weekday and month names. Fixes #617636.