generate_timecode_audio.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include <stdio.h>
6#include <stdlib.h>
7#include <vector>
8
9#include "media/cast/test/utility/audio_utility.h"
10
11const size_t kSamplingFrequency = 48000;
12
13int main(int argc, char **argv) {
14  if (argc < 3) {
15    fprintf(stderr, "Usage: %s <fps> <frames> >output.s16le\n", argv[0]);
16    exit(1);
17  }
18  int fps = atoi(argv[1]);
19  int frames = atoi(argv[2]);
20  std::vector<int16> samples(kSamplingFrequency / fps);
21  size_t num_samples = 0;
22  for (uint32 frame_id = 1; frame_id <= frames; frame_id++) {
23    CHECK(media::cast::EncodeTimestamp(frame_id, num_samples, &samples));
24    num_samples += samples.size();
25    for (size_t sample = 0; sample < samples.size(); sample++) {
26      putchar(samples[sample] & 0xff);
27      putchar(samples[sample] >> 8);
28      putchar(samples[sample] & 0xff);
29      putchar(samples[sample] >> 8);
30    }
31  }
32}
33