X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fffmpeg_stream.cc;h=86108ce4d1ea24ab38bf5ed29634344608376e1f;hp=3fac3332752eda59f15816d64ba4b90d6b996dae;hb=6ef1fc5f40567650ca9ef2b7644e4fdd97640ae6;hpb=9e4c091e6ef0f79fab10664e95240de2f14e5702 diff --git a/src/lib/ffmpeg_stream.cc b/src/lib/ffmpeg_stream.cc index 3fac33327..86108ce4d 100644 --- a/src/lib/ffmpeg_stream.cc +++ b/src/lib/ffmpeg_stream.cc @@ -1,28 +1,30 @@ /* - Copyright (C) 2013-2014 Carl Hetherington + Copyright (C) 2013-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ +#include "ffmpeg_stream.h" +#include "dcpomatic_assert.h" +#include +#include extern "C" { #include } -#include -#include -#include "ffmpeg_stream.h" using std::string; using dcp::raw_convert; @@ -43,29 +45,36 @@ FFmpegStream::as_xml (xmlpp::Node* root) const bool FFmpegStream::uses_index (AVFormatContext const * fc, int index) const +{ + return fc->streams[index]->id == _id; +} + +AVStream * +FFmpegStream::stream (AVFormatContext const * fc) const { size_t i = 0; while (i < fc->nb_streams) { if (fc->streams[i]->id == _id) { - return int (i) == index; + return fc->streams[i]; } ++i; } - return false; + DCPOMATIC_ASSERT (false); + return 0; } -AVStream * -FFmpegStream::stream (AVFormatContext const * fc) const +int +FFmpegStream::index (AVFormatContext const * fc) const { size_t i = 0; while (i < fc->nb_streams) { if (fc->streams[i]->id == _id) { - return fc->streams[i]; + return i; } ++i; } - assert (false); + DCPOMATIC_ASSERT (false); return 0; }