// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/logging.h" #include "media/midi/midi_message_util.h" namespace media { namespace midi { size_t GetMidiMessageLength(uint8_t status_byte) { if (status_byte < 0x80) return 0; if (0x80 <= status_byte && status_byte <= 0xbf) return 3; if (0xc0 <= status_byte && status_byte <= 0xdf) return 2; if (0xe0 <= status_byte && status_byte <= 0xef) return 3; switch (status_byte) { case 0xf0: return 0; case 0xf1: return 2; case 0xf2: return 3; case 0xf3: return 2; case 0xf4: // Reserved case 0xf5: // Reserved return 0; case 0xf6: return 1; case 0xf7: return 0; case 0xf8: case 0xf9: case 0xfa: case 0xfb: case 0xfc: case 0xfd: case 0xfe: case 0xff: return 1; default: NOTREACHED(); return 0; } } } // namespace midi } // namespace media