]> git.sesse.net Git - cubemap/blobdiff - stream.h
Try to fix some overflow issues on 32-bit platforms, where size_t is 32-bit. Untested.
[cubemap] / stream.h
index 77e9d8a8f0510fe06ebcb5a11b0440d4456b79b0..8d249c37b9852e6fc57b782193abe4ba174f56c1 100644 (file)
--- a/stream.h
+++ b/stream.h
@@ -31,7 +31,7 @@ struct Stream {
 
        Stream(const std::string &url,
               size_t backlog_size,
-              size_t prebuffering_bytes,
+              uint64_t prebuffering_bytes,
               Encoding encoding,
               Encoding src_encoding,
               unsigned hls_frag_duration,
@@ -88,15 +88,15 @@ struct Stream {
        // This is basically to force a buffer on the client, which can help
        // if the client expects us to be able to fill up the buffer much
        // faster than realtime (ie., it expects a static file).
-       size_t prebuffering_bytes;
+       uint64_t prebuffering_bytes;
 
        // How many bytes this stream have received. Can very well be larger
        // than <backlog_size>, since the buffer wraps.
-       size_t bytes_received = 0;
+       uint64_t bytes_received = 0;
 
        // A list of points in the stream that is suitable to start new clients at
        // (after having sent the header). Empty if no such point exists yet.
-       std::deque<size_t> suitable_starting_points;
+       std::deque<uint64_t> suitable_starting_points;
 
        // A list of HLS fragment boundaries currently in the backlog; the first fragment
        // is between point 0 and 1, the second is between 1 and 2, and so on.
@@ -111,7 +111,7 @@ struct Stream {
        // extended and thus should not be output. So the last fragment output is
        // from points N-3..N-2.
        struct FragmentStart {
-               size_t byte_position;
+               uint64_t byte_position;
                double pts;
        };
        std::deque<FragmentStart> fragments;