From: Carl Hetherington Date: Wed, 26 Jun 2013 10:04:28 +0000 (+0100) Subject: Builds again. X-Git-Tag: v2.0.48~1337^2~304^2~4 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=5fa669bbfc7392d29c9ec94cf6527c56558fe43f;p=dcpomatic.git Builds again. --- diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index d897aef9d..1d8a00866 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -272,7 +272,6 @@ FFmpegDecoder::seek_back () } do_seek (_next_video_frame - 1, true, true); - VideoDecoder::seek_back (); } void diff --git a/src/lib/player.cc b/src/lib/player.cc index 79f1c3b97..241b43a55 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -50,6 +50,11 @@ using boost::dynamic_pointer_cast; struct Piece { + Piece (shared_ptr c) + : content (c) + , last_emission (0) + {} + Piece (shared_ptr c, shared_ptr d) : content (c) , decoder (d) @@ -350,7 +355,7 @@ Player::setup_pieces () for (Playlist::ContentList::iterator i = content.begin(); i != content.end(); ++i) { - shared_ptr decoder; + shared_ptr piece (new Piece (*i)); /* XXX: into content? */ @@ -358,10 +363,10 @@ Player::setup_pieces () if (fc) { shared_ptr fd (new FFmpegDecoder (_film, fc, _video, _audio)); - fd->Video.connect (bind (&Player::process_video, this, *i, _1, _2, _3)); - fd->Audio.connect (bind (&Player::process_audio, this, *i, _1, _2)); + fd->Video.connect (bind (&Player::process_video, this, piece, _1, _2, _3)); + fd->Audio.connect (bind (&Player::process_audio, this, piece, _1, _2)); - decoder = fd; + piece->decoder = fd; } shared_ptr ic = dynamic_pointer_cast (*i); @@ -378,21 +383,21 @@ Player::setup_pieces () if (!id) { id.reset (new ImageMagickDecoder (_film, ic)); - id->Video.connect (bind (&Player::process_video, this, *i, _1, _2, _3)); + id->Video.connect (bind (&Player::process_video, this, piece, _1, _2, _3)); } - decoder = id; + piece->decoder = id; } shared_ptr sc = dynamic_pointer_cast (*i); if (sc) { shared_ptr sd (new SndfileDecoder (_film, sc)); - sd->Audio.connect (bind (&Player::process_audio, this, *i, _1, _2)); + sd->Audio.connect (bind (&Player::process_audio, this, piece, _1, _2)); - decoder = sd; + piece->decoder = sd; } - _pieces.push_back (shared_ptr (new Piece (*i, decoder))); + _pieces.push_back (piece); } /* Fill in visual gaps with black and audio gaps with silence */ diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index db2ab9dfe..0ed9a5cb0 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -445,7 +445,6 @@ FilmViewer::forward_clicked (wxCommandEvent &) return; } - _player->seek_forward (); get_frame (); _panel->Refresh (); _panel->Update ();