X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_stream.cc;h=47f71d1195bcbb2a169b5661c31171a8bd165c11;hb=345df3ae8254f25299c2fc2022b1143d444f9a56;hp=ad99defeef35852ca6e725965e70f6e78ac12031;hpb=4dbc6ef917aeceb906b1ef1caf6911033e7e2c54;p=dcpomatic.git diff --git a/src/lib/ffmpeg_stream.cc b/src/lib/ffmpeg_stream.cc index ad99defee..47f71d119 100644 --- a/src/lib/ffmpeg_stream.cc +++ b/src/lib/ffmpeg_stream.cc @@ -1,29 +1,33 @@ /* - 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 +LIBDCP_DISABLE_WARNINGS #include extern "C" { #include } +LIBDCP_ENABLE_WARNINGS using std::string; using dcp::raw_convert; @@ -44,25 +48,32 @@ 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; }