|
|
Created:
4 years, 10 months ago by hbos Modified:
4 years, 9 months ago CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_agora.io, mflodman Base URL:
https://chromium.googlesource.com/external/webrtc.git@master Target Ref:
refs/pending/heads/master Project:
webrtc Visibility:
Public. |
DescriptionHistograms for H264EncoderImpl/H264DecoderImpl
initialization and errors.
The stats are counts using enumeration, an instance of
H264EncoderImpl/H264DecoderImpl will report at most 1 Init
and 1 Error for its entire lifetime. This is to avoid
spamming reports if initialization or coding fails and it
retries in a loop. The Init stats will give us an idea of
usage counts for the encoder/decoder. The Error stats will
give us an idea of how many of these usages encounters some
type of problem, such as encode or decode errors.
- WebRTC.Video.H264EncoderImpl.Event:
* kH264EncoderEventInit: Occurs at InitEncode.
* kH264EncoderEventError: Occurs if any type of error
occurs during initialization or encoding.
- WebRTC.Video.H264DecoderImpl.Event:
* kH264DecoderEventInit: Occurs at InitDecode.
* kH264DecoderEventError: Occurs if any type of error
occurs during initialization, AVGetBuffer2 or decoding.
Chromium sibling CL:
https://codereview.chromium.org/1719273002/
BUG=chromium:500605, chromium:468365
Committed: https://crrev.com/12f4cda0867b7264f0ad65b2b00e592de9a2a753
Cr-Commit-Position: refs/heads/master@{#11736}
Patch Set 1 #
Total comments: 8
Patch Set 2 : RTC_HISTOGRAM_ENUMERATION with State as Init or Error instead of counters #Patch Set 3 : Renamed "...State" enums to "...Event" #
Total comments: 4
Messages
Total messages: 34 (12 generated)
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors All stats are counts, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 event for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Init: Occurs at InitEncode. - WebRTC.Video.H264EncoderImpl.Error: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Init: Occurs at InitDecode. - WebRTC.Video.H264DecoderImpl.Error: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. All stats are counts, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 init and 1 error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Init: Occurs at InitEncode. - WebRTC.Video.H264EncoderImpl.Error: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Init: Occurs at InitDecode. - WebRTC.Video.H264DecoderImpl.Error: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. BUG=chromium:500605, chromium:468365 ==========
hbos@webrtc.org changed reviewers: + henrik.lundin@webrtc.org, stefan@webrtc.org
Please take a look, stefan & hlundin. I looked at other examples of histograms in WebRTC. I will have to make a chromium-CL modifying histograms.xml as well. (Do I understand min/max/bucket count correctly to think 1/1/1 are appropriate values for this?)
hbos@webrtc.org changed reviewers: + rkaplow@chromium.org
+rkaplow for finch ambassador-ness (note: this is the webrtc repo with webrtc macros for the histograms)
My understanding of RTC_HISTOGRAM_COUNTS suggests that what you are doing is correct. Is your plan to compare number of inits with number of errors? In that case maybe it's better to use RTC_HISTOGRAM_PERCENTAGE?
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. All stats are counts, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 init and 1 error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Init: Occurs at InitEncode. - WebRTC.Video.H264EncoderImpl.Error: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Init: Occurs at InitDecode. - WebRTC.Video.H264DecoderImpl.Error: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. All stats are counts, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 init and 1 error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Init: Occurs at InitEncode. - WebRTC.Video.H264EncoderImpl.Error: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Init: Occurs at InitDecode. - WebRTC.Video.H264DecoderImpl.Error: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ==========
On 2016/02/22 20:54:54, stefan-webrtc (holmer) wrote: > My understanding of RTC_HISTOGRAM_COUNTS suggests that what you are doing is > correct. Is your plan to compare number of inits with number of errors? In that > case maybe it's better to use RTC_HISTOGRAM_PERCENTAGE? Yes I do want to compare the number of inits with errors. However I want to compare this across clients. A single client/session may either succeed or fail to do encoding/decoding, i.e. likely have 100% success or 0% success. So if I understand this correctly RTC_HISTOGRAM_COUNTS makes more sense and figure out the % based on total number of inits and total number of errors across all usages. Plus, total numbers might be nice.
PTAL stefan, hlundin. Want this in before branch cut (i.e. before roll on thursday).
On 2016/02/22 21:10:31, hbos wrote: > On 2016/02/22 20:54:54, stefan-webrtc (holmer) wrote: > > My understanding of RTC_HISTOGRAM_COUNTS suggests that what you are doing is > > correct. Is your plan to compare number of inits with number of errors? In > that > > case maybe it's better to use RTC_HISTOGRAM_PERCENTAGE? > > Yes I do want to compare the number of inits with errors. However I want to > compare this across clients. A single client/session may either succeed or fail > to do encoding/decoding, i.e. likely have 100% success or 0% success. So if I > understand this correctly RTC_HISTOGRAM_COUNTS makes more sense and figure out > the % based on total number of inits and total number of errors across all > usages. Plus, total numbers might be nice. Yes, you are right. lgtm
Sweet. Looksies, Other Henrik? :}
Oh btw, do you know if the sibling CL that modifies chromium's histograms.xml (https://codereview.chromium.org/1719273002/) has to land before or after this CL or if it doesn't matter?
The CQ bit was checked by hbos@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1716173002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1716173002/1
On 2016/02/23 09:48:20, hbos wrote: > Oh btw, do you know if the sibling CL that modifies chromium's histograms.xml > (https://codereview.chromium.org/1719273002/) has to land before or after this > CL or if it doesn't matter? Doesn't matter.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_baremetal on tryserver.webrtc (JOB_TIMED_OUT, no build URL)
https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:374: RTC_HISTOGRAM_COUNTS("WebRTC.Video.H264DecoderImpl.Init", Did you consider using RTC_HISTOGRAM_ENUMERATION instead? It seems more fitting than using a histogram with one bucket. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h:67: void ReportInit(); Methods should be declared before data members. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:416: RTC_HISTOGRAM_COUNTS("WebRTC.Video.H264EncoderImpl.Init", Same again. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h:62: void ReportInit(); Same again.
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. All stats are counts, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 init and 1 error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Init: Occurs at InitEncode. - WebRTC.Video.H264EncoderImpl.Error: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Init: Occurs at InitDecode. - WebRTC.Video.H264DecoderImpl.Error: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.State: * kH264EncoderStateInit: Occurs at InitEncode. * kH264EncoderStateError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.State: * kH264DecoderStateInit: Occurs at InitDecode. * kH264DecoderStateError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ==========
Thanks, changed to RTC_HISTOGRAM_ENUMRATION instead. Please take another look. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:374: RTC_HISTOGRAM_COUNTS("WebRTC.Video.H264DecoderImpl.Init", On 2016/02/23 13:55:53, hlundin-webrtc wrote: > Did you consider using RTC_HISTOGRAM_ENUMERATION instead? It seems more fitting > than using a histogram with one bucket. Oh, that makes a lot of sense. Done. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h:67: void ReportInit(); On 2016/02/23 13:55:53, hlundin-webrtc wrote: > Methods should be declared before data members. Done. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:416: RTC_HISTOGRAM_COUNTS("WebRTC.Video.H264EncoderImpl.Init", On 2016/02/23 13:55:54, hlundin-webrtc wrote: > Same again. Done. https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... File webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h (right): https://codereview.webrtc.org/1716173002/diff/1/webrtc/modules/video_coding/c... webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h:62: void ReportInit(); On 2016/02/23 13:55:54, hlundin-webrtc wrote: > Same again. Done.
On 2016/02/23 14:43:26, hbos wrote: > Thanks, changed to RTC_HISTOGRAM_ENUMRATION instead. Please take another look. Hang on I'll rename from "State" to "Event", it seems more fitting.
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.State: * kH264EncoderStateInit: Occurs at InitEncode. * kH264EncoderStateError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.State: * kH264DecoderStateInit: Occurs at InitDecode. * kH264DecoderStateError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Event: * kH264EncoderEventInit: Occurs at InitEncode. * kH264EncoderEventError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Event: * kH264DecoderEventInit: Occurs at InitDecode. * kH264DecoderEventError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ==========
On 2016/02/23 14:45:53, hbos wrote: > On 2016/02/23 14:43:26, hbos wrote: > > Thanks, changed to RTC_HISTOGRAM_ENUMRATION instead. Please take another look. > > Hang on I'll rename from "State" to "Event", it seems more fitting. There. PTAL hlundin.
https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:42: kH264DecoderEventMax = 16, The example I looked at was WebRTC.Video.Encoder.CodecType which had a much higher "Max" than the number of enum entries (64). I thought the margin was in case more entries are added in the future and also used a higher value. But perhaps this is not necessary, and max should be either 1 or 2 depending on if its inclusive or exclusive. Do any of you know why a higher Max value was used in that case and if it makes sense in this case?
lgtm https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:42: kH264DecoderEventMax = 16, On 2016/02/23 15:01:22, hbos wrote: > The example I looked at was WebRTC.Video.Encoder.CodecType which had a much > higher "Max" than the number of enum entries (64). I thought the margin was in > case more entries are added in the future and also used a higher value. But > perhaps this is not necessary, and max should be either 1 or 2 depending on if > its inclusive or exclusive. Do any of you know why a higher Max value was used > in that case and if it makes sense in this case? I don't know the history behind CodecType. The description in metrics.h says "|boundary| should be above the max enumerator sample" which is interpret as being exclusive. I don't know what happens if you later on want to add more enum values and have to raise the boundary.
The CQ bit was checked by hbos@webrtc.org
The patchset sent to the CQ was uploaded after l-g-t-m from stefan@webrtc.org Link to the patchset: https://codereview.webrtc.org/1716173002/#ps40001 (title: "Renamed "...State" enums to "...Event"")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1716173002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1716173002/40001
Message was sent while issue was closed.
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Event: * kH264EncoderEventInit: Occurs at InitEncode. * kH264EncoderEventError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Event: * kH264DecoderEventInit: Occurs at InitDecode. * kH264DecoderEventError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Event: * kH264EncoderEventInit: Occurs at InitEncode. * kH264EncoderEventError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Event: * kH264DecoderEventInit: Occurs at InitDecode. * kH264DecoderEventError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Event: * kH264EncoderEventInit: Occurs at InitEncode. * kH264EncoderEventError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Event: * kH264DecoderEventInit: Occurs at InitDecode. * kH264DecoderEventError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 ========== to ========== Histograms for H264EncoderImpl/H264DecoderImpl initialization and errors. The stats are counts using enumeration, an instance of H264EncoderImpl/H264DecoderImpl will report at most 1 Init and 1 Error for its entire lifetime. This is to avoid spamming reports if initialization or coding fails and it retries in a loop. The Init stats will give us an idea of usage counts for the encoder/decoder. The Error stats will give us an idea of how many of these usages encounters some type of problem, such as encode or decode errors. - WebRTC.Video.H264EncoderImpl.Event: * kH264EncoderEventInit: Occurs at InitEncode. * kH264EncoderEventError: Occurs if any type of error occurs during initialization or encoding. - WebRTC.Video.H264DecoderImpl.Event: * kH264DecoderEventInit: Occurs at InitDecode. * kH264DecoderEventError: Occurs if any type of error occurs during initialization, AVGetBuffer2 or decoding. Chromium sibling CL: https://codereview.chromium.org/1719273002/ BUG=chromium:500605, chromium:468365 Committed: https://crrev.com/12f4cda0867b7264f0ad65b2b00e592de9a2a753 Cr-Commit-Position: refs/heads/master@{#11736} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/12f4cda0867b7264f0ad65b2b00e592de9a2a753 Cr-Commit-Position: refs/heads/master@{#11736}
Message was sent while issue was closed.
https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:42: kH264DecoderEventMax = 16, On 2016/02/24 09:17:57, hlundin-webrtc wrote: > On 2016/02/23 15:01:22, hbos wrote: > > The example I looked at was WebRTC.Video.Encoder.CodecType which had a much > > higher "Max" than the number of enum entries (64). I thought the margin was in > > case more entries are added in the future and also used a higher value. But > > perhaps this is not necessary, and max should be either 1 or 2 depending on if > > its inclusive or exclusive. Do any of you know why a higher Max value was used > > in that case and if it makes sense in this case? > > I don't know the history behind CodecType. The description in metrics.h says > "|boundary| should be above the max enumerator sample" which is interpret as > being exclusive. I don't know what happens if you later on want to add more enum > values and have to raise the boundary. Ok. Landed as-is. rkaplow if you know I could adjust "Max" in a follow-up if necessary?
Message was sent while issue was closed.
lgtm sorry for delay https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... File webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc (right): https://codereview.webrtc.org/1716173002/diff/40001/webrtc/modules/video_codi... webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc:42: kH264DecoderEventMax = 16, On 2016/02/24 11:11:25, hbos wrote: > On 2016/02/24 09:17:57, hlundin-webrtc wrote: > > On 2016/02/23 15:01:22, hbos wrote: > > > The example I looked at was WebRTC.Video.Encoder.CodecType which had a much > > > higher "Max" than the number of enum entries (64). I thought the margin was > in > > > case more entries are added in the future and also used a higher value. But > > > perhaps this is not necessary, and max should be either 1 or 2 depending on > if > > > its inclusive or exclusive. Do any of you know why a higher Max value was > used > > > in that case and if it makes sense in this case? > > > > I don't know the history behind CodecType. The description in metrics.h says > > "|boundary| should be above the max enumerator sample" which is interpret as > > being exclusive. I don't know what happens if you later on want to add more > enum > > values and have to raise the boundary. > > Ok. Landed as-is. rkaplow if you know I could adjust "Max" in a follow-up if > necessary? usually people don't even set the numbers here manually. It should be fine to adjust the max value, yes. |