~ubuntu-branches/ubuntu/wily/aegisub/wily-proposed

« back to all changes in this revision

Viewing changes to src/audio_provider_hd.h

  • Committer: Package Import Robot
  • Author(s): Sebastian Reichel, Pascal De Vuyst, Juan Picca, Sebastian Reichel
  • Date: 2015-08-04 21:40:50 UTC
  • mfrom: (5.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20150804214050-y2aghm9vdksoc8t7
Tags: 3.2.2+dfsg-1
[ Pascal De Vuyst ]
* Fix Typo in package description (Closes: #739219)

[ Juan Picca ]
* Add patch to fix reproducible build (Closes: #789728)

[ Sebastian Reichel ]
* New upstream release
 - remove vendor directory from orig tarball
* Update Debian Standards Version to 3.9.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (c) 2006, Rodrigo Braz Monteiro
2
 
// All rights reserved.
3
 
//
4
 
// Redistribution and use in source and binary forms, with or without
5
 
// modification, are permitted provided that the following conditions are met:
6
 
//
7
 
//   * Redistributions of source code must retain the above copyright notice,
8
 
//     this list of conditions and the following disclaimer.
9
 
//   * Redistributions in binary form must reproduce the above copyright notice,
10
 
//     this list of conditions and the following disclaimer in the documentation
11
 
//     and/or other materials provided with the distribution.
12
 
//   * Neither the name of the Aegisub Group nor the names of its contributors
13
 
//     may be used to endorse or promote products derived from this software
14
 
//     without specific prior written permission.
15
 
//
16
 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
 
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
 
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
 
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20
 
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
 
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
 
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
 
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
 
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
 
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
 
// POSSIBILITY OF SUCH DAMAGE.
27
 
//
28
 
// Aegisub Project http://www.aegisub.org/
29
 
 
30
 
/// @file audio_provider_hd.h
31
 
/// @see audio_provider_hd.cpp
32
 
/// @ingroup audio_input
33
 
///
34
 
 
35
 
#include "include/aegisub/audio_provider.h"
36
 
 
37
 
namespace agi {
38
 
        class BackgroundRunner;
39
 
        class ProgressSink;
40
 
}
41
 
 
42
 
class HDAudioProvider : public AudioProviderWrapper {
43
 
        /// Name of the file which the decoded audio is written to
44
 
        agi::fs::path diskCacheFilename;
45
 
        /// Audio provider which reads from the decoded cache
46
 
        std::unique_ptr<AudioProvider> cache_provider;
47
 
 
48
 
        /// Fill the cache with all of the data from the source audio provider
49
 
        /// @param src Audio data to cache
50
 
        /// @param file File to write to
51
 
        /// @param ps Sink for progress reporting
52
 
        void FillCache(AudioProvider *src, std::ofstream *file, agi::ProgressSink *ps);
53
 
 
54
 
        void FillBuffer(void *buf, int64_t start, int64_t count) const override;
55
 
 
56
 
public:
57
 
        HDAudioProvider(std::unique_ptr<AudioProvider> source, agi::BackgroundRunner *br);
58
 
        ~HDAudioProvider();
59
 
};