<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} .ms-cui-menu {background-color:#ffffff;border:1px rgb(166, 166, 166) solid;font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:10pt;color:rgb(51, 51, 51);} .ms-cui-menusection-title {display:none;} .ms-cui-ctl {vertical-align:text-top;text-decoration:none;color:rgb(51, 51, 51);} .ms-cui-ctl-on {background-color:rgb(205, 230, 247);opacity: 0.8;} .ms-cui-img-cont-float {display:inline-block;margin-top:2px} .ms-cui-smenu-inner {padding-top:0px;} .ms-owa-paste-option-icon {margin: 0px 6px 0px 6px;vertical-align:middle!important;padding-bottom: 2px;display:inline-block;} .ms-rtePasteFlyout-option:hover {background-color:rgb(205, 230, 247) !important;opacity:1 !important;} .ms-rtePasteFlyout-option {padding:8px 4px 8px 4px;outline:none;} .ms-cui-menusection {float:left; width:85px;height:24px;overflow:hidden}.wf {speak:none; font-weight:normal; font-variant:normal; text-transform:none; -webkit-font-smoothing:antialiased; vertical-align:middle; display:inline-block;}.wf-family-owa {font-family:'o365Icons'}@font-face {  font-family:'o365IconsIE8';  src:url('prem/15.0.995.29/resources/styles/office365icons.ie8.eot?#iefix') format('embedded-opentype'),         url('prem/15.0.995.29/resources/styles/office365icons.ie8.woff') format('woff'),         url('prem/15.0.995.29/resources/styles/office365icons.ie8.ttf') format('truetype');  font-weight:normal;  font-style:normal;}@font-face {  font-family:'o365IconsMouse';  src:url('prem/15.0.995.29/resources/styles/office365icons.mouse.eot?#iefix') format('embedded-opentype'),         url('prem/15.0.995.29/resources/styles/office365icons.mouse.woff') format('woff'),         url('prem/15.0.995.29/resources/styles/office365icons.mouse.ttf') format('truetype');  font-weight:normal;  font-style:normal;}.wf-family-owa {font-family:'o365IconsMouse'}.ie8 .wf-family-owa {font-family:'o365IconsIE8'}.ie8 .wf-owa-play-large:before {content:'\e254';}.notIE8 .wf-owa-play-large:before {content:'\e054';}.ie8 .wf-owa-play-large {color:#FFFFFF/*$WFWhiteColor*/;}.notIE8 .wf-owa-play-large {border-color:#FFFFFF/*$WFWhiteColor*/; width:1.4em; height:1.4em; border-width:.1em; border-style:solid; border-radius:.8em; text-align:center; box-sizing:border-box; -moz-box-sizing:border-box; padding:0.1em; color:#FFFFFF/*$WFWhiteColor*/;}.ie8 .wf-size-play-large {width:40px; height:40px; font-size:30px}.notIE8 .wf-size-play-large {width:40px; height:40px; font-size:30px}.notIE8 .wf-owa-triangle-down-small:before {content:'\e052';}.ie8 .wf-owa-triangle-down-small:before { content:'\e052';}.ie8 .wf-owa-triangle-down-small {color:#666666/*$WFGreyColor*/;}.wf-size-x20 {font-size: 20px!important;}--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<span style="font-size:12pt;background-color:white;" dir="ltr">
<div style="margin-top:0;margin-bottom:0;">Hi Ross,<br>
<br>
We have run into an issue where the AAC-hbr in the sdp appears to be converted to lower case aac-hbr for the proxied sdp header. This breaks gstreamer from detecting the aac decode type. As this probably should not be failing in gstreamer. I think changing
 the delivered mode type is probably not the best thing to do.</div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<div style="margin-top:0;margin-bottom:0;">I used openRTSP to dump out the sdp header of my camera and the mode is AAC-hbr as expect and gstreamer can play the audio track. However if I take this same stream from this camera and proxy it will not play.</div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<div style="margin-top:0;margin-bottom:0;">I noticed in the changelog.txt back in 2014.08.23 the function attrVal_strToLower was added to solve a problem.  If you look at the constructor of the  MPEG4GenericRTPSink it converts the mpeg4Mode to lower case for
 comparison. So is it necessary to lower it before and here?  If passed in as found in the SDP and not converted to lower case gstreamer will play it correctly.  </div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<div style="margin-top:0;margin-bottom:0;"> The pipeline I used to test this is as follows:</div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<div style="margin-top:0;margin-bottom:0;"><font face="Courier New,monospace">gst-launch-0.10 -v playbin2 uri=rtsp://camera_ip:554/play2.sdp</font></div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<div style="margin-top:0;margin-bottom:0;">If you run a proxyServer to the above camera, it will not play audio.</div>
<div style="margin-top:0;margin-bottom:0;"><br>
</div>
<font face="Courier New,monospace">gst-launch-0.10 -v playbin2 uri=rtsp://proxy_ip:8554/proxyStream</font><br>
<br>
Using openRTSP you can grep for hbr and you will see that when using the proxy the mode is converted to lower.<br>
<br>
<font face="Courier New,monospace">openRTSP -Q -d 1 rtsp://proxy_ip:8554/proxyStream 2>&1 | grep hbr</font><br>
<br>
<font face="Courier New,monospace">a=fmtp:97 streamtype=5;profile-level-id=1;mode=</font><font face="Courier New,monospace" color="red">aac-hbr</font><font face="Courier New,monospace" color="red">;</font><font face="Courier New,monospace">sizelength=13;indexlength=3;indexdeltalength=3;config=1410</font><br>
<font face="Courier New,monospace">a=fmtp:97 streamtype=5;profile-level-id=1;mode=aac-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1410</font><br>
<br>
<font face="Courier New,monospace"> openRTSP -Q -d 1 rtsp://172.16.10.101:554/play2.sdp 2>&1 | grep hbr</font><br>
<font face="Courier New,monospace">a=fmtp:97 streamtype=5;profile-level-id=1;mode=</font><font face="Courier New,monospace" color="red">AAC-hbr</font><font face="Courier New,monospace">;sizelength=13;indexlength=3;indexdeltalength=3;config=1410</font><br>
<font face="Courier New,monospace">a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1410</font><br>
<br>
<br>
<br>
Again, gstreamer should probably handle it, but on the other hand should the proxy really be converting it to lower case, and just use it as delivered from the camera?<br>
<br>
<div style="margin-top:0;margin-bottom:0;">Thanks,<br>
</div>
<div style="margin-top:0;margin-bottom:0;">Craig</div>
</span>
<p><br>
</p>
</body>
</html>