1. 29 Jan, 2018 3 commits
    • François Laignel's avatar
      Event & Message: factorize common attributes in generic builders · da924e5d
      François Laignel authored
      Concrete events and messages share common attributes which can be factorized in generic builder `struct`s. This reduces noise in the concrete implementations.
      da924e5d
    • François Laignel's avatar
      Event, Message & Query: allow dereferencing concrete types to access generic type methods · 2d1218e6
      François Laignel authored
      Implement `deref` for concrete derivatives of `Event`, `Message` and `Query`. This allows accessing generic methods such as `is_sticky` for events, `get_seqnum` for messages or `is_serialized` for queries and `get_structure` for all.
      2d1218e6
    • François Laignel's avatar
      Fix building argument-less messages · 3c65a500
      François Laignel authored
      Building an argument-less message such as eos yields an assertion failure due to the inner structure being null. The short term solution consists in checking that the inner `structure` is not `null` before attempting to insert `other_fields`. The consequence is that `others_fields` defined for argument-less messages will be ignored. A correction will be applied when GStreamer 1.14 is released thank to the introduction of `gst_message_writable_structure` (see https://bugzilla.gnome.org/show_bug.cgi?id=792928). Due to the dependency on GStreamer 1.14, the correction will be only available under the activation of a feature "v1_14".
      
      Events are not affected as the build method the availability of `gst_event_writable_structure` and this function "will never return NULL". However, we can avoid a `structure` allocation for argument-less messages without `other_fields`.
      3c65a500
  2. 20 Dec, 2017 1 commit
  3. 16 Dec, 2017 1 commit
  4. 09 Dec, 2017 1 commit
    • Sebastian Dröge's avatar
      Change FormatValue related API to be more convenient to use · c99928d0
      Sebastian Dröge authored
      FormatValue is now renamed to GenericFormattedValue and the API slightly
      changed. In addition there is now a FormattedValue trait, and a
      SpecificFormattedValue trait plus types for Bytes, Buffers and the
      existing ClockTime.
      
      This allows to create functions like
        Pad::query_duration<F: SpecificFormattedValue>() -> Option<F>
      and doesn't require the caller to unwrap the generic value anymore,
      which is completely unneeded in these cases.
      
      In addition, Segment became FormattedSegment<T> with API to
      upcast/downcast between the specific formatted values and the generic
      formatted value. This greatly simplifies usage of Segments.
      c99928d0
  5. 05 Dec, 2017 3 commits
  6. 03 Dec, 2017 1 commit
  7. 01 Dec, 2017 4 commits
  8. 29 Nov, 2017 1 commit
  9. 27 Nov, 2017 1 commit
  10. 15 Nov, 2017 1 commit
  11. 12 Nov, 2017 1 commit
  12. 11 Nov, 2017 1 commit
  13. 14 Sep, 2017 1 commit
  14. 13 Sep, 2017 2 commits
  15. 10 Sep, 2017 1 commit
  16. 30 Aug, 2017 2 commits
  17. 18 Aug, 2017 1 commit
  18. 09 Aug, 2017 1 commit
  19. 02 Aug, 2017 2 commits
  20. 31 Jul, 2017 1 commit
  21. 30 Jul, 2017 4 commits