]> git.sesse.net Git - cubemap/blobdiff - stream.cpp
Try to fix some overflow issues on 32-bit platforms, where size_t is 32-bit. Untested.
[cubemap] / stream.cpp
index 62c7507cc796b4075ece559fb00564b0ce46229e..07d6ae949217de37d483525fbf2fab0de6383e0f 100644 (file)
@@ -1,5 +1,6 @@
 #include <assert.h>
 #include <errno.h>
+#include <inttypes.h>
 #include <limits.h>
 #include <math.h>
 #include <netinet/in.h>
@@ -22,7 +23,7 @@ using namespace std;
 
 Stream::Stream(const string &url,
                size_t backlog_size,
-               size_t prebuffering_bytes,
+               uint64_t prebuffering_bytes,
                Encoding encoding,
                Encoding src_encoding,
                unsigned hls_frag_duration,
@@ -421,8 +422,8 @@ shared_ptr<const string> Stream::generate_hls_playlist(bool http_11, bool close_
                "#EXTM3U\r\n"
                "#EXT-X-VERSION:7\r\n"
                "#EXT-X-TARGETDURATION:%u\r\n"
-               "#EXT-X-MEDIA-SEQUENCE:%zu\r\n"
-               "#EXT-X-DISCONTINUITY-SEQUENCE:%zu\r\n",
+               "#EXT-X-MEDIA-SEQUENCE:%" PRIu64 "\r\n"
+               "#EXT-X-DISCONTINUITY-SEQUENCE:%" PRIu64 "\r\n",
                hls_frag_duration,
                first_fragment_index,
                discontinuity_counter);
@@ -438,7 +439,7 @@ shared_ptr<const string> Stream::generate_hls_playlist(bool http_11, bool close_
        if (fragments.size() >= 3) {
                for (size_t i = 0; i < fragments.size() - 2; ++i) {
                        char buf[256];
-                       snprintf(buf, sizeof(buf), "#EXTINF:%f,\r\n%s?frag=%zu-%zu\r\n",
+                       snprintf(buf, sizeof(buf), "#EXTINF:%f,\r\n%s?frag=%" PRIu64 "-%" PRIu64 "\r\n",
                                fragments[i + 1].pts - fragments[i].pts,
                                url.c_str(),
                                fragments[i].byte_position,