Merge master.
[dcpomatic.git] / src / lib / resampler.cc
index 565fb69c29b127240b956b64e75f744bce5df8e9..00121384dce7617ab59f0ee85ea0373a7ab0c440 100644 (file)
@@ -23,10 +23,13 @@ extern "C" {
 #include "resampler.h"
 #include "audio_buffers.h"
 #include "exceptions.h"
+#include "compose.hpp"
 
 #include "i18n.h"
 
 using std::cout;
+using std::pair;
+using std::make_pair;
 using boost::shared_ptr;
 
 Resampler::Resampler (int in, int out, int channels)
@@ -73,14 +76,15 @@ Resampler::run (shared_ptr<const AudioBuffers> in)
                );
        
        if (resampled_frames < 0) {
-               throw EncodeError (_("could not run sample-rate converter"));
+               char buf[256];
+               av_strerror (resampled_frames, buf, sizeof(buf));
+               throw EncodeError (String::compose (_("could not run sample-rate converter for %1 samples (%2) (%3)"), in->frames(), resampled_frames, buf));
        }
        
        resampled->set_frames (resampled_frames);
        return resampled;
 }      
 
-/* XXX: no-one calls this */
 shared_ptr<const AudioBuffers>
 Resampler::flush ()
 {