<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body smarttemplateinserted="true">
    <div id="smartTemplate4-quoteHeader">Hello, Nicolas.<br>
      <br>
      Thanks for your answers!<br>
      <br>
      But the pipeline:<br>
      <br>
      <i>    gst-launch-1.0.exe videotestsrc ! filesink
        location=bigfile.yuv</i><br>
      <br>
      will not detect this bug, since there is no need to seek inside
      the file in this case, and therefore fseeko will not be called.<br>
      <br>
      But the pipeline like:<br>
      <i>    <br>
            gst-launch-1.0.exe videotestsrc !
        video/x-raw,width=1920,height=1080,framerate=30/1 ! x264enc
        bitrate=50000 ! matroskamux ! filesink location=test.mkv</i><br>
      <br>
      will detect it.<br>
      <br>
      I conducted an experiment - gstreamer-1.0-mingw-x86_64-1.16.3.msi
      prebuilt binary does not contain this error.<br>
      <br>
      Anyway, thank you very much!<br>
      <br>
      On 15.09.2021, 21:28:03:<br>
      <!--<div style="border: 1px gray solid; padding: 5px; margin: 5px 0px; max-width: 850px;"> <b>From:</b> Discussion Of The Development Of And With Gstreamer <gstreamer-devel@lists.freedesktop.org> <br> <b>Sent:</b>  Среда, Сентября 15, 2021 9:28PM <br> <b>To:</b> Артем Семенов <artem.semenov@jarillolabs.com>, Discussion Of The Development Of And With Gstreamer <gstreamer-devel@lists.freedesktop.org><br>   <b>Cc:</b> Nicolas Dufresne <nicolas@ndufresne.ca> <br><br> <b>Subject:</b> Re: filesink cannot write output file more than 2048 MB, windows, gstreamer 1.16.1 mingw x64 <br></div>--></div>
    <blockquote type="cite"
      cite="mid:406cf6cc8cce64edb7afdd80931217e685c1b830.camel@ndufresne.ca">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Le mercredi 15 septembre 2021 à 17:18 +0300, Артем Семенов a
        écrit :</div>
      <blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px
        #729fcf solid;padding-left:1ex">
        <div id="smartTemplate4-quoteHeader">Hello, Nicolas.<br>
          <br>
          Thanks! <br>
          <br>
          The reason for this error was obvious, but the reasons for its
          occurrence were not obvious for me.<br>
          <br>
          Ultimately, gstreamer-1.0-mingw-x86_64-1.16.3.msi prebuilt
          binary does not contain this error, am I right?</div>
      </blockquote>
      <div><br>
      </div>
      <div>I think it's faster to just test it then to dig into history:</div>
      <div><br>
      </div>
      <div>  gst-launch-1.0.exe videotestsrc ! filesink
        location=bigfile.yuv</div>
      <div><br>
      </div>
      <div>If it's using older meson, it will stop at 2G, otherwise it
        will up your hard-drive :-D</div>
      <div><br>
      </div>
      <blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px
        #729fcf solid;padding-left:1ex">
        <div id="smartTemplate4-quoteHeader"> <br>
          I don't want to use the msvc build, in our projects, we are
          now trying to completely switch to gcc and cmake, taking into
          account the urgent need for cross-platform.<br>
          <br>
          By the way, was the performance of gstreamer compared in the
          mingw vs msvc build on windows?</div>
      </blockquote>
      <div><br>
      </div>
      <div>I haven't heard of any scientific measure of performance
        comparing MingW and MSCV. For most of the work, I would expect
        similar results (though larger binary). Note that the binary for
        1.16 might be built with an old Mingw, I can't remember when we
        updated that toolchain in your build system. There is plugins
        that cannot be built without MSCV, and but opposite is also
        true.</div>
      <div><br>
      </div>
      <blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px
        #729fcf solid;padding-left:1ex">
        <div id="smartTemplate4-quoteHeader"> <br>
          About FAT32 - this is a well-known limitation, of course, we
          use ntfs.</div>
      </blockquote>
      <blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px
        #729fcf solid;padding-left:1ex">
        <div id="smartTemplate4-quoteHeader"> <br>
          Thank you again!<br>
          <br>
          On 15.09.2021, 15:59:09:<br>
          <!--<div style="border: 1px gray solid; padding: 5px; margin: 5px 0px; max-width: 850px;"> <b>From:</b> Nicolas Dufresne Via Gstreamer-Devel <gstreamer-devel@lists.freedesktop.org> <br> <b>Sent:</b>  Среда, Сентября 15, 2021 3:59PM <br> <b>To:</b> Discussion Of The Development Of And With Gstreamer <gstreamer-devel@lists.freedesktop.org><br>   <b>Cc:</b> Nicolas Dufresne <nicolas@ndufresne.ca>, Артем Семенов <artem.semenov@jarillolabs.com> <br><br> <b>Subject:</b> Re: filesink cannot write output file more than 2048 MB, windows, gstreamer 1.16.1 mingw x64 <br></div>--></div>
        <div> <br>
        </div>
        <blockquote type="cite"
          cite="mid:51f214c672e9887d2f1866631c7ea2a85b0d6d3e.camel@ndufresne.ca"
          style="margin:0 0 0 .8ex; border-left:2px #729fcf
          solid;padding-left:1ex">
          <pre>Le mercredi 15 septembre 2021 à 11:44 +0300, Артем Семенов via gstreamer-devel a</pre>
          <pre>écrit :</pre>
          <div> <br>
          </div>
          <blockquote type="cite" style="margin:0 0 0 .8ex;
            border-left:2px #729fcf solid;padding-left:1ex">
            <pre>Hello, James.</pre>
            <pre> </pre>
            <pre> You are wrong, it's not a "low down" windows issue.</pre>
            <pre> </pre>
            <pre> I found this:</pre>
            <pre> </pre>
            <pre> 1. "filesink: fails with matroskamux when writing files larger than 2GiB on</pre>
            <pre>Windows<a class="moz-txt-link-rfc2396E" href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/579  2." moz-do-not-send="true">"
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/579
 
 2. "</a>meson: Ensure large file support for fseeko"</pre>
            <pre><a class="moz-txt-link-freetext" href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/517" moz-do-not-send="true">https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/517</a></pre>
            <pre> </pre>
            <pre> And it looks like this fix was backported into 1.16 (1.16.3).</pre>
          </blockquote>
          <pre>This one was confusing, this MR was closed, as in the end it was a Meson bug</pre>
          <pre>(regression in the transition to Meson):</pre>
          <pre>
</pre>
          <pre><a class="moz-txt-link-freetext" href="https://github.com/mesonbuild/meson/pull/7272" moz-do-not-send="true">https://github.com/mesonbuild/meson/pull/7272</a></pre>
          <pre>
</pre>
          <pre>This is a bit specific to MSys Windows builds, MSVC build should not be</pre>
          <pre>affected.</pre>
          <pre>
</pre>
          <pre>p.s. Note that the hard limit on FAT is 4G files (unsigned).</pre>
          <pre>
</pre>
          <div> <br>
          </div>
          <blockquote type="cite" style="margin:0 0 0 .8ex;
            border-left:2px #729fcf solid;padding-left:1ex">
            <pre> </pre>
            <pre> On 15.09.2021, 09:13:57: </pre>
            <pre> </pre>
            <div> <br>
            </div>
            <blockquote type="cite" style="margin:0 0 0 .8ex;
              border-left:2px #729fcf solid;padding-left:1ex">
              <pre>That is a windows issue that cannot be fixed. (Well it can, but it is low down</pre>
              <pre>in windows)</pre>
              <pre>James</pre>
            </blockquote>
            <pre> </pre>
            <pre> </pre>
            <div> <br>
            </div>
            <blockquote type="cite" style="margin:0 0 0 .8ex;
              border-left:2px #729fcf solid;padding-left:1ex">
              <pre>  </pre>
              <div> <br>
              </div>
              <blockquote type="cite" style="margin:0 0 0 .8ex;
                border-left:2px #729fcf solid;padding-left:1ex">
                <pre>On 15 Sep 2021, at 8:25 am, Артем Семенов via gstreamer-devel</pre>
                <pre><a class="moz-txt-link-rfc2396E" href="mailto:gstreamer-devel@lists.freedesktop.org" moz-do-not-send="true"><gstreamer-devel@lists.freedesktop.org></a> wrote:</pre>
                <pre>
</pre>
                <pre>Hello. </pre>
                <pre>
</pre>
                <pre>Windows, gstreamer 1.16.1 mingw x64:</pre>
                <pre>
</pre>
                <pre>When the output file reaches a size greater than 2048 MB, filesink stops</pre>
                <pre>recording and generates an error:</pre>
                <pre>
</pre>
                <pre>GST_DEBUG=3</pre>
                <pre>
</pre>
                <pre>0:19:09.838828958  5464 000002C708342300 WARN                filesink</pre>
                <pre>gstfilesink.c:606:gst_file_sink_event:<filesink> error: Error while seeking</pre>
                <pre>in file "{path_to_output_file}".</pre>
                <pre>0:19:09.838856894  5464 000002C708342300 WARN                filesink</pre>
                <pre>gstfilesink.c:606:gst_file_sink_event:<filesink> error: system error:</pre>
                <pre>Invalid argument</pre>
                <pre>
</pre>
                <pre>GST_DEBUG=5</pre>
                <pre>
</pre>
                <pre>1:00:17.891237294  6080 000001CC520A4940 DEBUG               filesink</pre>
                <pre>gstfilesink.c:504:gst_file_sink_do_seek:<filesink> Seeking to offset</pre>
                <pre>2147862966 using fseeko</pre>
                <pre>1:00:17.891284786  6080 000001CC520A4940 DEBUG               filesink</pre>
                <pre>gstfilesink.c:714:gst_file_sink_flush_buffer:<filesink> Flushing out buffer</pre>
                <pre>of size 24</pre>
                <pre>1:00:17.891333954  6080 000001CC520A4940 DEBUG               filesink</pre>
                <pre>gstfilesink.c:658:gst_file_sink_render_buffers:<filesink> writing 1 buffers</pre>
                <pre>(1 memories, 24 bytes) at position 1074029354</pre>
                <pre>
</pre>
                <pre>1:00:17.912922452  6080 000001CC520A4940 DEBUG               filesink</pre>
                <pre>gstfilesink.c:535:gst_file_sink_do_seek:<filesink> Seeking failed: Invalid</pre>
                <pre>argument</pre>
                <pre>1:00:17.912970224  6080 000001CC520A4940 WARN                filesink</pre>
                <pre>gstfilesink.c:606:gst_file_sink_event:<filesink> error: Error while seeking</pre>
                <pre>in file "{path_to_output_file}".</pre>
                <pre>
</pre>
                <pre>Obviously, this is due to the fact that the 32-bit version of the fseek</pre>
                <pre>function is used instead of the 64-bit one.</pre>
                <pre>
</pre>
                <pre>Has this been fixed in subsequent releases?</pre>
                <pre>
</pre>
              </blockquote>
            </blockquote>
          </blockquote>
          <pre>
</pre>
        </blockquote>
        <div id="smartTemplate4-template"><span class="moz-txt-tag">-- <br>
          </span>With best regards, <br>
           Artem Semenov               <a class="moz-txt-link-freetext"
            href="mailto:artem.semenov@jarillolabs.com"
            moz-do-not-send="true">mailto:artem.semenov@jarillolabs.com</a></div>
        <div> </div>
      </blockquote>
      <div><br>
      </div>
      <div><span></span></div>
    </blockquote>
    <br>
    <div id="smartTemplate4-template">
      <div id="smartTemplate4-template"><span class="moz-txt-tag">-- <br>
        </span>With best regards, <br>
         Artem Semenov               <a class="moz-txt-link-freetext"
          href="mailto:artem.semenov@jarillolabs.com">mailto:artem.semenov@jarillolabs.com</a></div>
    </div>
  </body>
</html>