1. 04 Jul, 2016 7 commits
  2. 01 Jul, 2016 2 commits
  3. 30 Jun, 2016 5 commits
    • Tim-Philipp Müller's avatar
      tagdemux: fix handling of very short files in push mode · a2c050a4
      Tim-Philipp Müller authored
      By default we'll wait for a certain amount of data before
      attempting typefinding. However, if the stream is fairly
      short, we might get EOS before we ever attempted any
      typefinding, so at this point we should force typefinding
      and output any pending data if we manage to detect the
    • Tim-Philipp Müller's avatar
      tagdemux: fix erroring out if we reach EOS without detecting type · 130e78db
      Tim-Philipp Müller authored
      In 0.10 the source pad was a dynamic pad that was only added once
      the type had been detected, but in 1.x it's an always source pad,
      so checking whether it's still NULL won't work to detect if the
      type has been detected.
      Makes tagdemux error out when we get EOS but haven't managed to
      identify the format of the data after the tag.
    • Edward Hervey's avatar
      parsebin: Fix authors and description · 4b6e43fa
      Edward Hervey authored
    • Edward Hervey's avatar
      playback: Remove uridecodebin3 · 5baae6df
      Edward Hervey authored
      This was committed by mistake. The solution forward is to use the
      appropriate combination of urisourcebin and decodebin3
    • Edward Hervey's avatar
      playback: New elements · d514e79b
      Edward Hervey authored
      With contributions from Jan Schmidt <jan@centricular.com>
      * decodebin3 and playbin3 have the same purpose as the decodebin and
      playbin elements, except make usage of more 1.x features and the new
      GstStream API. This allows them to be more memory/cpu efficient.
      * parsebin is a new element that demuxers/depayloads/parses an incoming
      stream and exposes elementary streams. It is used by decodebin3.
      It also automatically creates GstStream and GstStreamCollection for
      elements that don't natively create them and sends the corresponding
      events and messages
      * Any application using playbin can use playbin3 by setting the env
      variable USE_PLAYBIN3=1 without reconfiguration/recompilation.
  4. 29 Jun, 2016 1 commit
  5. 27 Jun, 2016 2 commits
  6. 23 Jun, 2016 2 commits
  7. 22 Jun, 2016 1 commit
    • Wim Taymans's avatar
      video-converter: fix interlaced scaling some more · 5e752f4e
      Wim Taymans authored
      Fix problem with the line cache where it would forget the first line in
      the cache in some cases.
      Keep as much backlog as we have taps. This generally works better and we
      could do even better by calculating the overlap in all taps.
      Allocated enough lines for the line cache.
      Use only half the number of taps for the interlaced lines because we
      only have half the number of lines.
      The pixel shift should be relative to the new output pixel size so scale
      Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=767921
  8. 21 Jun, 2016 7 commits
  9. 16 Jun, 2016 3 commits
  10. 13 Jun, 2016 1 commit
    • Paulo Neves's avatar
      exiftag: Increase serialized geo precision · 5dd720e0
      Paulo Neves authored
      The serialization of double typed geographical
      coordinates to DMS system supported by the exif
      standards was previously truncated without need.
      The previous code truncated the seconds part of
      the coordinate to a fraction with denominator
      equal to 1 causing a bug on the deserialization
      when the test for the coordinate to be serialized
      was more precise.
      This patch applies a 10E6 multiplier to the numerator
      equal to the denominator of the rational number.
      Eg. Latitude = 89.5688643 Serialization
      DMS Old code = 89/1 deg, 34/1 min, 7/1 sec
      DMS New code = 89/1 deg, 34/1 min, 79114800UL/10000000UL
      DMS Old code = 89.5686111111
      DMS New code = 89.5688643
      The new test tries to serialize a higher precision
      The types of the coordinates are also guint32 instead
      of gint like previously. guint32 is the type of the
      fraction components in the exif.
  11. 11 Jun, 2016 3 commits
  12. 09 Jun, 2016 6 commits
    • Víctor Manuel Jáquez Leal's avatar
      videodecoder: handle buffer's flags at offset · 8b8708f9
      Víctor Manuel Jáquez Leal authored
      For reverse playback it is important to handle correctly the frame sync
      points, which is set when the input buffer doesn't have the DELTA_UNIT flag.
      This is handled correctly when decoder is packetized, but when it is not the
      frame's sync point is not copied, and the reverse playback never decodes frame
      The current patch adds the buffer's flags to the Timestamp list, where the
      timestamp and duration of the input buffers are hold.
    • Víctor Manuel Jáquez Leal's avatar
      videodecoder: squash two message logs into one · 75906f53
      Víctor Manuel Jáquez Leal authored
      There were two consecutive log messages in gst_video_decoder_decode_frame().
      Given the information they provide, it is more efficient to squash them into a
      single one.
    • Víctor Manuel Jáquez Leal's avatar
      videodecoder: playback rate is in input_segment · 779e7391
      Víctor Manuel Jáquez Leal authored
      The playback rate is hold in the input_segment member variable, not in the
      output_segment, and the parse_gather list was never filled because of that.
      This patch changes the comparison with input_segment.
    • Sebastian Dröge's avatar
      videodecoder: Use input segment rate instead of output segment rate to decide... · 0bd3f235
      Sebastian Dröge authored
      videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes
      The output segment is only set up after data is output, which might be far in
      the future for reverse playback. Also we are here interested in the state at
      the current *input* frame (which is the keyframe), not any possible output.
    • Sebastian Dröge's avatar
      videodecoder: Only drain in KEY_UNITS trick mode after a keyframe in forwards playback mode · 0c7022d6
      Sebastian Dröge authored
      For reverse playback the same behaviour was already implemented in
      For reverse playback, chain_forward() is only used to gather frames and not
      for decoding, and it is actually called by the draining logic, causing an
      infinite recursion.
    • Edward Hervey's avatar
      videodecoder: Don't push late frames · 8bee96c4
      Edward Hervey authored
      While it's a bit tricky to discard frames *before* decoding (because
      we might not be sure which data is needed or not by the decoder), we
      can discard them after decoding if they are too late anyway.
      Any following basetransform based element or similar would drop the frame too.