Browse Source

Fix av_get_channel_layout_string() for positions >31

A value shifted left by >31 needs to have a 64-bit type.
As there are no defined channels in this range, the fix
is purely theoretical at this point, although it does
avoid some invalid shifts triggering the overflow
checker.

Signed-off-by: Mans Rullgard <mans@mansr.com>
tags/n0.9
Mans Rullgard 14 years ago
parent
commit
019dd23657
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavutil/audioconvert.c

+ 1
- 1
libavutil/audioconvert.c View File

@@ -109,7 +109,7 @@ void av_get_channel_layout_string(char *buf, int buf_size,
int i, ch;
av_strlcat(buf, " (", buf_size);
for (i = 0, ch = 0; i < 64; i++) {
if ((channel_layout & (1L << i))) {
if ((channel_layout & (UINT64_C(1) << i))) {
const char *name = get_channel_name(i);
if (name) {
if (ch > 0)


Loading…
Cancel
Save