<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type><BASE 
href="x-msg://737/">
<META name=GENERATOR content="MSHTML 9.00.8112.16464"></HEAD>
<BODY 
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>Hi Ross & Jeff,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>first of all in Boost 1.49 I didn't find a Boolean class. May 
be it's in a newer version defined.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>Second, Ross - the issue here is that someone might need 
to have to include both Live555 and other library  (boost or libvc) headers 
to his _single_ source file. If other library declares it's own Boolean type 
(class) then this one will have a name conflict.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>The exact solution for that problem is namespaces. If you 
place all your library names to a separate namespace, then you become 
independent from other declarations.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>To simplify migration for existing code, you might add "using 
namespace" statement and then it should be completely transparent for customers. 
The person with clashes might need to add specifies like boost:: or 
 live555:: before Boolean object declaration to resolve 
ambiguity.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>Also, if some of supported compilers doesn't use namespaces 
(well, may be some embedded one) - then you might need to use conditional 
compilation as you did over 9000 times before ;-)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=414395214-11032013><FONT color=#0000ff 
size=2 face=Arial>Nikolai</FONT></SPAN></DIV><BR>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> live-devel-bounces@ns.live555.com 
[mailto:live-devel-bounces@ns.live555.com] <B>On Behalf Of </B>Ross 
Finlayson<BR><B>Sent:</B> Monday, March 11, 2013 3:22 PM<BR><B>To:</B> LIVE555 
Streaming Media - development & use<BR><B>Subject:</B> Re: [Live-devel] 
Breaking change<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<BLOCKQUOTE type="cite">
  <DIV 
  style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" 
  lang=EN-US vlink="purple" link="blue">
  <DIV style="page: WordSection1" class=WordSection1>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt">I 
  am updating live555 from 2012.2.29 to 2013.03.07 and found a change in 
  Boolean.hh that breaks my build. From reading the changelog, I think this is 
  recent.<O:P></O:P></DIV>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt"><O:P></O:P></DIV>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt">The 
  line<O:P></O:P></DIV>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt">    “ 
  #define Boolean bool “</DIV></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>No, it's *not* recent; it's almost 9 months old!  From the 
changelog:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV>2012.06.12:</DIV>
<DIV>- Updated "UsageEnvironment/include/Boolean.hh" to use the 'bool' type 
defined for "MSVC++ 8.0, Visual Studio 2005 and higher",</DIV>
<DIV>  if that development environment is being used.  Also, fixed a 
few places in the code where we were using boolean types</DIV>
<DIV>  incorrectly.  (Thanks to Nikolai Vorontsov for these 
suggestions.)</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<BLOCKQUOTE type="cite">
  <DIV 
  style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" 
  lang=EN-US vlink="purple" link="blue">
  <DIV style="page: WordSection1" class=WordSection1>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt">Overwrites 
  a class name in boost  (move.cpp)  where there is a class with the 
  name Boolean</DIV></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>Here is the current contents of 
"UsageEnvironment/include/Boolean.hh".  Feel free to propose a change that 
you think works for you (and is not likely to break for everyone else, for which 
this existing code works!):<BR>
<DIV><BR></DIV>
<DIV>#if defined(__BORLANDC__)  ||  (defined(_MSC_VER) && 
 _MSC_VER >= 1400)    // MSVC++ 8.0, Visual Studio 2005 and 
higher</DIV>
<DIV>#define Boolean bool</DIV>
<DIV>#define False false</DIV>
<DIV>#define True true</DIV>
<DIV>#else</DIV>
<DIV>typedef unsigned char Boolean;</DIV>
<DIV>#ifndef __MSHTML_LIBRARY_DEFINED__</DIV>
<DIV>#ifndef False</DIV>
<DIV>const Boolean False = 0;</DIV>
<DIV>#endif</DIV>
<DIV>#ifndef True</DIV>
<DIV>const Boolean True = 1;</DIV>
<DIV>#endif</DIV>
<DIV>#endif</DIV>
<DIV>#endif</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<BLOCKQUOTE type="cite">
  <DIV 
  style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" 
  lang=EN-US vlink="purple" link="blue">
  <DIV style="page: WordSection1" class=WordSection1>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt"><O:P></O:P></DIV>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt"><O:P> </O:P><SPAN 
  style="FONT-SIZE: 11pt">In the past I have had this collide with 
  libavcodec.</SPAN></DIV></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>Huh?  Why are you compiling "libavcodec" code with our 
header files?</DIV>
<DIV><BR></DIV>
<DIV><BR>
<BLOCKQUOTE type="cite">
  <DIV 
  style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" 
  lang=EN-US vlink="purple" link="blue">
  <DIV style="page: WordSection1" class=WordSection1>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt"><SPAN 
  style="FONT-SIZE: 11pt">So I end up modifying this file every time I 
  upgrade.</SPAN></DIV></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>If you modifiy the supplied code, you can expect *no* support on 
this mailing list!</DIV>
<DIV><BR></DIV>
<DIV><BR>
<BLOCKQUOTE type="cite">
  <DIV 
  style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" 
  lang=EN-US vlink="purple" link="blue">
  <DIV style="page: WordSection1" class=WordSection1>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt"><O:P></O:P></DIV>
  <DIV 
  style="MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri, sans-serif; FONT-SIZE: 11pt">Is 
  the problem  a tough one to fix for live555?</DIV></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>As I noted above, the current "Boolean.hh" has been there for 
almost 9 months.  Noone else has complained in that time; this (IMHO) calls 
into question the legitimacy of your complaint.</DIV><BR>
<DIV apple-content-edited="true"><SPAN 
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" 
class=Apple-style-span><SPAN 
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" 
class=Apple-style-span>Ross Finlayson<BR>Live Networks, Inc.<BR><A 
href="http://www.live555.com/">http://www.live555.com/</A></SPAN></SPAN> 
</DIV><BR></BODY></HTML>