220 26311 <2897526.WjqoZ8n3I9@lastique-pc> article
Path: news.gmane.org!not-for-mail
From: Andrey Semashev <andrey.semashev@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Any interest to adding audio support to the std library?
Date: Mon, 13 Jun 2016 11:24:24 +0300
Lines: 277
Approved: news@gmane.org
Message-ID: <2897526.WjqoZ8n3I9@lastique-pc>
References: <5751B06A.4080501@mail1.stofanet.dk> <8AB38C1F-590D-4F81-9839-D7A4604E1831@gmail.com> <2943c5c2-2c46-4447-b8f6-7647fc34d52c@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="nextPart1596736.jOlD2Hf51T"
Content-Transfer-Encoding: 7Bit
X-Trace: ger.gmane.org 1465806284 8986 80.91.229.3 (13 Jun 2016 08:24:44 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 13 Jun 2016 08:24:44 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCXY5TXHWYJRBQO37G5AKGQEJRRNODQ@isocpp.org Mon Jun 13 10:24:38 2016
Return-path: <std-proposals+bncBCXY5TXHWYJRBQO37G5AKGQEJRRNODQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lf0-f70.google.com ([209.85.215.70])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCXY5TXHWYJRBQO37G5AKGQEJRRNODQ@isocpp.org>)
	id 1bCNAk-0002Q7-LH
	for gclcip-std-proposals@m.gmane.org; Mon, 13 Jun 2016 10:24:38 +0200
Original-Received: by mail-lf0-f70.google.com with SMTP id g18sf6604772lfg.2
        for <gclcip-std-proposals@m.gmane.org>; Mon, 13 Jun 2016 01:24:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=from:to:subject:date:message-id:user-agent:in-reply-to:references
         :mime-version:content-transfer-encoding:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=sPTYk/1VLT02F0mK0iWECver1ZhW/oDUvLEMn8VM9og=;
        b=FMXf7bilx+dIUJcBCOTeyeOT3BwYFRiXRjDEJNduNhE0Jut8nPp9L7TIuiSbi8e759
         362U+BPk92ouiSAvgvrXMD+99fPP0IRFwGpXz7znr3b3kpPU5p0etKZnZ3dqgFvqtNKt
         MfTCt58nIf4vv3Np6/vyX9msUXntMjBHH1jG9w1Zvl11Bx1DhXBox5fq3/28LMOVJ8q7
         crkIT6wjcg8Cev/Ga9Fg3kfToYmWS+Q79mQFwXdbdlH+y32RjPzdM/uAZavFmCQWD53M
         ibSTGn/Eqeq6l/AYi+I3n9QeFBLhA+RbwPdgFE2jXWKM8STEYLWVb04TFLblOPSXyneq
      
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:subject:date:message-id:user-agent
         :in-reply-to:references:mime-version:content-transfer-encoding
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=sPTYk/1VLT02F0mK0iWECver1ZhW/oDUvLEMn8VM9og=;
        b=NxmXbih8tG03T7CFN4jwA5zGmGP2VTlbzrM5C8vZlggQFsOPxDEHIIKqBIV/3w5TaL
         gHqZ+7ynogfTcuhmX9ZoOGCmL9EBmSGmS/BGmxzwGPTrR0yJKACaCO4CpXd9yzw3W9Y9
         +XhMjSQqAS6qa5TUR+pknx25trFhY1ay4SLYcw2JWjHfysU80SryxGngqYg2d9tSXgma
         SCEPx8ZdDEMWJbnDLIdEMZ64LbSS7uIJDyOmwFxcrVzuFyinvxLVRGlfcYwoN/eQiydc
         AKjnoalKMTF4fP+1u0Yqims4/Ri097ZYP9JyHv5ZjSPyoy2ZXF761x3J1H71uDF6T9Ig
  
X-Gm-Message-State: ALyK8tKcfM4UZTRDWySZ/viXuo7JjYuSKWP2act8jxYX7hu9GJ1xQ5rGoAY4oFh4Q5C4Hw==
X-Received: by 10.194.156.200 with SMTP id wg8mr554479wjb.7.1465806278056;
        Mon, 13 Jun 2016 01:24:38 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.25.5.4 with SMTP id 4ls62506lff.4.gmail; Mon, 13 Jun 2016
 01:24:31 -0700 (PDT)
X-Received: by 10.25.90.15 with SMTP id o15mr3874620lfb.67.1465806271980;
        Mon, 13 Jun 2016 01:24:31 -0700 (PDT)
Original-Received: from mail-lf0-x232.google.com (mail-lf0-x232.google.com. [2a00:1450:4010:c07::232])
        by mx.google.com with ESMTPS id q9si11679016lbp.130.2016.06.13.01.24.31
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 13 Jun 2016 01:24:31 -0700 (PDT)
Received-SPF: pass (google.com: domain of andrey.semashev@gmail.com designates 2a00:1450:4010:c07::232 as permitted sender) client-ip=2a00:1450:4010:c07::232;
Original-Received: by mail-lf0-x232.google.com with SMTP id j7so55983451lfg.1
        for <std-proposals@isocpp.org>; Mon, 13 Jun 2016 01:24:31 -0700 (PDT)
X-Received: by 10.46.71.70 with SMTP id u67mr1050759lja.19.1465806271421;
        Mon, 13 Jun 2016 01:24:31 -0700 (PDT)
Original-Received: from lastique-pc.localnet (broadband-90-154-68-136.nationalcablenetworks.ru. [90.154.68.136])
        by smtp.googlemail.com with ESMTPSA id g28sm2676400ljg.24.2016.06.13.01.24.30
        for <std-proposals@isocpp.org>
        (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
        Mon, 13 Jun 2016 01:24:30 -0700 (PDT)
User-Agent: KMail/5.1.3 (Linux/4.4.0-24-generic; KDE/5.18.0; x86_64; ; )
In-Reply-To: <2943c5c2-2c46-4447-b8f6-7647fc34d52c@isocpp.org>
X-Original-Sender: andrey.semashev@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com;       spf=pass (google.com: domain of
 andrey.semashev@gmail.com designates 2a00:1450:4010:c07::232 as permitted
 sender) smtp.mailfrom=andrey.semashev@gmail.com;       dmarc=pass (p=NONE
 dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:26311
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/26311>

This is a multi-part message in MIME format.

--nextPart1596736.jOlD2Hf51T
Content-Type: text/plain; charset=UTF-8

As I suggested earlier, I think the clock should be specified by the user (probably as a 
template parameter for the audio frame).

On Monday, 13 June 2016 11:22:50 MSK alexander.zywicki@gmail.com wrote:
> How do you all feel about this definition for a clock?
> 
> #include <chrono>
> #include <type_traits>
> 
> //define audio_clock as high_resolution clock if high_resolution clock
> is_steady==true else use steady_clock
> //conditional will result in a clock that is monotonic either way
> //but can result in using a high_resolution_clock on certain platforms
> using audio_clock = typename std::conditional<std::chrono::
> high_resolution_clock::is_steady,
>                                               std::chrono::
> high_resolution_clock,
>                                               std::chrono::steady_clock>::
> type;
> 
> On Sunday, June 12, 2016 at 4:09:44 PM UTC-5, alexande...@gmail.com wrote:
> > In that case I would argue for the use of the "std::chrono::steady_clock"
> > based on the fact that it is specified to be a monotonic clock.
> > 
> > Or a clock defined in a similar manor that counts in samples.
> > 
> > I also would imagine that our clock would need to have "is_steady" always
> > be true?
> > 
> > 
> > On Jun 11, 2016, at 4:09 AM, Andrey Semashev <andrey.semashev@gmail.com>
> > wrote:
> > 
> > On Saturday, 11 June 2016 11:03:41 MSK alexander.zywicki@gmail.com wrote:
> > > Or at least store a time point each time the stream is started using a
> > 
> > clock
> > 
> > > with a well defined epoch, so that we might be able to find the length
> > > of
> > > 
> > > time that the stream has been active and have meaningful measurements of
> > > 
> > > time within the stream.
> > 
> > There is no need to have the epoch bound to the beginning of the stream to
> > calculate its duration. Or any particular epoch at all. All you need is
> > the
> > timestamp of its first and last frames.
> > 
> > 
> > 
> > A fixed epoch becomes important when you try to synchronize multiple
> > streams together. But even then it's not important what exactly is the
> > epoch; what is important is that it has to be the same for all streams you
> > are processing.


-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/2897526.WjqoZ8n3I9%40lastique-pc.

--nextPart1596736.jOlD2Hf51T
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-=
html40/strict.dtd">
<html><head><meta name=3D"qrichtext" content=3D"1" /><style type=3D"text/cs=
s">
p, li { white-space: pre-wrap; }
</style></head><body style=3D" font-family:'DejaVu Sans Mono'; font-size:9p=
t; font-weight:400; font-style:normal;">
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">As I sugges=
ted earlier, I think the clock should be specified by the user (probably as=
 a template parameter for the audio frame).</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On Monday, =
13 June 2016 11:22:50 MSK alexander.zywicki@gmail.com wrote:</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; How do=
 you all feel about this definition for a clock?</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; #inclu=
de &lt;chrono&gt;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; #inclu=
de &lt;type_traits&gt;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; //defi=
ne audio_clock as high_resolution clock if high_resolution clock</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; is_ste=
ady=3D=3Dtrue else use steady_clock</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; //cond=
itional will result in a clock that is monotonic either way</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; //but =
can result in using a high_resolution_clock on certain platforms</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; using =
audio_clock =3D typename std::conditional&lt;std::chrono::</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; high_r=
esolution_clock::is_steady,</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;       =
                                        std::chrono::</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; high_r=
esolution_clock,</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;       =
                                        std::chrono::steady_clock&gt;::</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; type;<=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; On Sun=
day, June 12, 2016 at 4:09:44 PM UTC-5, alexande...@gmail.com wrote:</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; I=
n that case I would argue for the use of the &quot;std::chrono::steady_cloc=
k&quot;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; b=
ased on the fact that it is specified to be a monotonic clock.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; O=
r a clock defined in a similar manor that counts in samples.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; I=
 also would imagine that our clock would need to have &quot;is_steady&quot;=
 always</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; b=
e true?</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; O=
n Jun 11, 2016, at 4:09 AM, Andrey Semashev &lt;andrey.semashev@gmail.com&g=
t;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; w=
rote:</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; O=
n Saturday, 11 June 2016 11:03:41 MSK alexander.zywicki@gmail.com wrote:</p=
>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; Or at least store a time point each time the stream is started using a<=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; c=
lock</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; with a well defined epoch, so that we might be able to find the length<=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; of</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; time that the stream has been active and have meaningful measurements o=
f</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; &=
gt; time within the stream.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; T=
here is no need to have the epoch bound to the beginning of the stream to</=
p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; c=
alculate its duration. Or any particular epoch at all. All you need is</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; t=
he</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; t=
imestamp of its first and last frames.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; <=
/p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; A=
 fixed epoch becomes important when you try to synchronize multiple</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; s=
treams together. But even then it's not important what exactly is the</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; e=
poch; what is important is that it has to be the same for all streams you</=
p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; a=
re processing.</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p></body></html>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/2897526.WjqoZ8n3I9%40lastique-pc?utm_=
medium=3Demail&utm_source=3Dfooter">https://groups.google.com/a/isocpp.org/=
d/msgid/std-proposals/2897526.WjqoZ8n3I9%40lastique-pc</a>.<br />

--nextPart1596736.jOlD2Hf51T--


.
