1. 17 Mar, 2019 2 commits
  2. 15 Mar, 2019 3 commits
    • Charlie Turner's avatar
      qtdemux: Find mp4a esds atoms in protected streams sample description tables. · 39d32b23
      Charlie Turner authored
      This problem was found in Test. 2 of the YouTube 2018 EME
      tests[1]. The code was accidentally not finding an mp4a's esds atom in
      the sample description table when the stream was encrypted. It assumed
      that if the stream is protected, then only an enca atom will be found
      here. What happens with YouTube is they often provide protected
      content with a few seconds of clear content, and then switch to the
      encrypted stream.
      The failure case here was an incorrect codec_data field being sent
      into aacparse. The advertisement of stereo audio @ 44.1kHz for the
      mp4a (unprotected) stream was incorrect. As usual, the esds contained
      the real values here which were mono at 22050 Hz.
      Here's what the MP4 tree looks like for these types of files,
      demonstrating why the code was making a wrong assumption (or maybe
      YouTube is being unusual),
      [ftyp] size=8+16
      [moov] size=8+1571
        [trak] size=8+559
                [stsd] size=12+234
                  entry-count = 2
                  [enca] size=8+147
                    channel_count = 2
                    sample_size = 16
                    sample_rate = 44100
                    [esds] size=12+27
                  [mp4a] size=8+67
                    channel_count = 2
                    sample_size = 16
                    sample_rate = 44100
                    [esds] size=12+27
      In addition to fixing this, the checks for esds atoms in mp4a and mp4v
      have been made symmetrical. While I haven't seen a test case for video
      with the same problem, it seemed better to make the same checks. This
      also fixes a crash reported from another user[2], they also noted the
      asymmetry with mp4v and mp4a.
      [1] https://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2018.html?test_type=encryptedmedia-test
      [2] gstreamer/gst-plugins-good#398
    • Andreas Frisch's avatar
    • Sebastian Dröge's avatar
      rtspsrc: Don't remove udpsrc/sink from rtspsrc if they were not added to it · a676c172
      Sebastian Dröge authored
      This can happen in various error cases that could happen between the
      creation of the element in question and the adding to the rtspsrc.
      It causes an ugly critical warning right now but is otherwise harmless.
  3. 14 Mar, 2019 2 commits
  4. 12 Mar, 2019 1 commit
  5. 08 Mar, 2019 2 commits
    • Philipp Zabel's avatar
      v4l2sink: fix pool-less allocation query handling · 8b068fb7
      Philipp Zabel authored
      This fixes a critical warning if the last-sample property is enabled:
        (gst-launch-1.0:391): GStreamer-CRITICAL **: 01:12:57.428: gst_object_unref: assertion 'object != NULL' failed
      If the allocation query does not contain any allocation pools,
      gst_query_parse_nth_allocation_pool will leave the local pool,
      min, and max variables undefined, so check the array length first.
      If pool is NULL, do not call gst_object_unref.
    • Seungha Yang's avatar
      meson: Build v4l2 example only if v4l2 plugin was built · 3f9170bd
      Seungha Yang authored
      Otherwise v4l2 example will be built with MSVC
  6. 07 Mar, 2019 5 commits
  7. 06 Mar, 2019 7 commits
  8. 05 Mar, 2019 1 commit
  9. 04 Mar, 2019 1 commit
  10. 01 Mar, 2019 1 commit
  11. 28 Feb, 2019 1 commit
  12. 27 Feb, 2019 1 commit
  13. 26 Feb, 2019 6 commits
  14. 25 Feb, 2019 1 commit
    • Nicolas Dufresne's avatar
      rtpsession: Fix EOS forwarding · e72ef633
      Nicolas Dufresne authored
      So far we assumed that if all sources are bye, this meant we needed to
      send an EOS on the RTCP sink. The problem is that this case may happens
      if we only had one internal source and it detected a collision.
      So now we limit the EOS forwarding to when there is a send_rtp_sink pad
      and that this pad has received EOS. We don'tcheck the recv_rtp_sink
      since the code does not wait for the bye to be send before sending EOS
      to the RTCP src pad.
  15. 24 Feb, 2019 1 commit
  16. 13 Feb, 2019 2 commits
  17. 11 Feb, 2019 3 commits