GStreamer 1.26 Release Notes

GStreamer 1.26.0 was originally released on 11 March 2025.

The latest bug-fix release in the stable 1.26 series is 1.26.7 and was released on 14 October 2025.

See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of this document.

Last updated: Tuesday 14 October 2025, 16:30 UTC (log)

## Introduction

The GStreamer team is proud to announce a new major feature release in the stable 1.x API series of your favourite
cross-platform multimedia framework!

As always, this release is again packed with many new features, bug fixes, and other improvements.

## Highlights

-   H.266 Versatile Video Coding (VVC) codec support
-   Low Complexity Enhancement Video Coding (LCEVC) support
-   Closed captions: H.264/H.265 extractor/inserter, cea708overlay, cea708mux, tttocea708 and more
-   New hlscmafsink, hlssink3, and hlsmultivariantsink; HLS/DASH client and dashsink improvements
-   New AWS and Speechmatics transcription, translation and TTS services elements, plus translationbin
-   Splitmux lazy loading and dynamic fragment addition support
-   Matroska: H.266 video and rotation tag support, defined latency muxing
-   MPEG-TS: support for H.266, JPEG XS, AV1, VP9 codecs and SMPTE ST-2038 and ID3 meta; mpegtslivesrc
-   ISO MP4: support for H.266, Hap, Lagarith lossless codecs; raw video support; rotation tags
-   SMPTE 2038 ancillary data streams support
-   JPEG XS image codec support
-   Analytics: New TensorMeta; N-to-N relationships; Mtd to carry segmentation masks
-   ONVIF metadata extractor and conversion to/from relation metas
-   New originalbuffer element that can restore buffers again after transformation steps for analytics
-   Improved Python bindings for analytics API
-   Lots of Vulkan integration and Vulkan Video decoder/encoder improvements
-   OpenGL integration improvements, esp. in glcolorconvert, gldownload, glupload
-   Qt5/Qt6 QML GL sinks now support direct DMABuf import from hardware decoders
-   CUDA: New compositor, Jetson NVMM memory support, stream-ordered allocator
-   NVCODEC AV1 video encoder element, and nvdsdewarp
-   New Direct3D12 integration support library
-   New d3d12swapchainsink and d3d12deinterlace elements and D3D12 sink/source for zero-copy IPC
-   Decklink HDR support (PQ + HLG) and frame scheduling enhancements
-   AJA capture source clock handling and signal loss recovery improvements
-   RTP and RTSP: New rtpbin sync modes, client-side MIKEY support in rtspsrc
-   New Rust rtpbin2, rtprecv, rtpsend, and many new Rust RTP payloaders and depayloaders
-   webrtcbin support for basic rollbacks and other improvements
-   webrtcsink: support for more encoders, SDP munging, and a built-in web/signalling server
-   webrtcsrc/sink: support for uncompressed audio/video and NTP & PTP clock signalling and synchronization
-   rtmp2: server authentication improvements incl. Limelight CDN (llnw) authentication
-   New Microsoft WebView2 based web browser source element
-   The GTK3 plugin has gained support for OpenGL/WGL on Windows
-   Many GTK4 paintable sink improvements
-   GstPlay: id-based stream selection and message API improvements
-   Real-time pipeline visualization in a browser using a new dots tracer and viewer
-   New tracers for tracking memory usage, pad push timings, and buffer flow as pcap files
-   VA hardware-acclerated H.266/VVC decoder, VP8 and JPEG encoders, VP9/VP8 alpha decodebins
-   Video4Linux2 elements support DMA_DRM caps negotiation now
-   V4L2 stateless decoders implement inter-frame resolution changes for AV1 and VP9
-   Editing services: support for reverse playback and audio channel reordering
-   New QUIC-based elements for working with raw QUIC streams, RTP-over-QUIC (RoQ) and WebTransport
-   Apple AAC audio encoder and multi-channel support for the Apple audio decoders
-   cerbero: Python bindings and introspection support; improved Windows installer based on WiX5
-   Lots of new plugins, features, performance improvements and bug fixes

## Major new features and changes

### H.266 Versatile Video Coding (VVC) codec support

-   The H.266 / VVC video codec is a successor to H.265 / HEVC and is standardised in ISO/IEC 23090-3.

-   A new h266parse element was added, along with parsing API, typefinding support and some codec utility functions in the
    gst-plugins-base utility library.

-   A H.266 decoder base class for hardware-accelerated decoders was added and used to implement a VA-API-based
    hardware-accelerated H.266 decoder.

-   The FFmpeg H.266 decoder is exposed now (from FFmpeg 7.0 onwards).

-   H.266 / VVC muxing and demuxing support was implemented for MP4, Matroska and MPEG-TS containers.

-   A VVdeC-based H.266 decoder element was added to the Rust plugins, based on the Fraunhofer Versatile Video Decoder library.

### JPEG XS image codec support

-   JPEG XS is a visually lossless, low-latency, intra-only video codec for video production workflows, standardised in ISO/IEC
    21122.

-   JPEG XS encoder and decoder elements based on the SVT JPEG XS library were added, including support for muxing JPEG XS into
    MPEG-TS and demuxing it. Both interlaced and progressive modes are supported.

### Low Complexity Enhancement Video Coding (LCEVC) support

-   LCEVC is a codec that provides an enhancement layer on top of another codec such as H.264 for example. It is standardised as
    MPEG-5 Part 2.

-   LCEVC encoder and decoder elements based on V-Nova’s SDK libraries were added, including support in h264parse for extracting
    the enhancement layer from H.264 and decoding it via a lcevch264decodebin element.

### Closed captions improvements

-   New H.264 and H.265 closed captions extractor and inserter elements.

    -   These extractor elements don’t actually extract captions from the bitstream, but rely on parser elements to do that and
        add them to buffers in form of caption metas. The problem is that streams might contain B-frames, in which case the
        captions in the bitstream will not be in presentation order and extracting them requires frame-reordering in the same
        way that a decoder would do. These new elements will do exactly that and allow you to extract captions in presentation
        order without having to decode the stream.

    -   The inserter elements do something similar and insert caption SEIs into the H.264 or H.265 bitstream, taking into
        account frame ordering.

    -   This is useful if one wants to extract, process and re-insert captions into an existing video bitstream without decoding
        and re-encoding it (in which case the decoder and encoder would handle the caption reordering).

-   cdpserviceinject: New element for injecting a CDP service descriptor into closed caption CDP packets

-   cea708overlay: New element for overlaying CEA608 / CEA708 closed captions over video streams.

-   The cc708overlay element has been deprecated in favour of the cea708overlay element from the Rust plugins set.

-   cea608mux gained a "force-live" property to make it always in live mode and aggregate on timeout regardless of whether any
    live sources are linked upstream.

-   cea708mux: New element that allows to mux multiple CEA708 services into a single stream.

-   cccombiner has two new properties:

    -   "input-meta-processing" controls how input closed caption metas are processed and can be used to e.g. discard closed
        captions from the input pad if the matching video buffer already has closed caption on it.

    -   "schedule-timeout" to support timing out captions without EOS

-   tttocea708: New element for converting timed-text to CEA708 closed captions

-   Miscellaneous improvements and spec compliance fixes

### Speech to Text, Translation and Speech Synthesis

-   awstranscriber2, awstranslate: New elements around the AWS transcription and translation services.

-   polly: New element around the AWS text-to-speech polly services

-   speechmatics: New transcriber / speech-to-text and translation element

-   translationbin: Helper bin around translation elements, similar to the already existing transcriberbin for transcriptions.

### HLS DASH adaptive streaming improvements

-   The adaptivedemux2 client implementation gained support for file:// URIs and as such the ability to play HLS and DASH from
    local files. It also no longer sends spurious flush events when it loses sync in live streams, as that is unexpected and
    will be handled poorly in non-playback scenarios. Lastly, support for HTTP request retries was added via the "max-retries"
    property, along with some exponential backoff logic which can be fine-tuned via properties.

-   dashsink has received period duration fixes for dynamic MPDs and some memory leak fixes.

-   hlscmafsink, hlssink3: New single-variant HLS sink elements that can output CMAF (fMP4) or MPEG-TS fragments.

-   hlsmultivariantsink: New sink element that can output an HLS stream with multiple variants

### splitmuxsrc, splitmuxsink: lazy loading and dynamic fragment addition

-   splitmuxsrc and splitmuxsink were originally designed to handle a small number of large file fragments, e.g. for situations
    where one doesn’t want to exceed a certain file size when recording to legacy file systems. It was also designed for playing
    back a static set of file fragments that have been created by an earlier recording session and no longer changes. Over time
    people have found more applications and use cases for the splitmux elements and have been deploying them in different
    scenarios, exposing the limits of the current implementation.

-   In this release, splitmuxsink and splitmuxsrc gained new abilities aimed at improving support for recordings with a large
    number of files, and for adding fragments on the fly to allow playback of ongoing recordings:

    -   You can now add fragments directly to splitmuxsrc and provide the offset and duration in the stream:

        -   Providing offset and duration means splitmuxsrc doesn’t need to scan the file to measure it and calculate it. That
            makes for much faster startup.

        -   The new "add-fragment" signal can be used to add files to the set dynamically - allowing to be playing an ongoing
            recording and adding files to the playback set as they are finished.

    -   splitmuxsrc no longer keeps all files open, but instead only keeps 100 files open by default, configurable with the
        "num-open-fragments" property.

    -   There is a new "num-lookahead" property on splitmuxsrc to trigger (re)opening files a certain distance ahead of the play
        position.

    -   splitmuxsink will report fragment offset and fragment duration via a message on the bus when closing a file. This
        information can then be used to add the new fragment to a splitmuxsrc.

### MPEG-TS container format improvements

-   The MPEG-TS muxer and demuxer gained support for

    -   H.266 / VVC video muxing and demuxing
    -   JPEG-XS video muxing and demuxing
    -   VP9 video muxing and demuxing (using a custom mapping)
    -   AV1 video muxing and demuxing (using a custom mapping, since the work-in-progress specification effort doesn’t seem to
        be going anywhere anytime soon)
    -   SMPTE ST-2038 ancillary metadata streams (see section above)

-   mpegtsmux gained support for muxing ID3 metadata into the TS stream, as well as SMPTE 302M audio.

-   It’s also possible to disable sending SCTE-35 null (heartbeat) packets now in mpegtsmux by setting the
    "scte-35-null-interval" to 0.

-   tsparse now handles 192-byte M2TS packets

-   mpegtslivesrc: New source element that can wrap a live MPEG-TS source (e.g. SRT or UDP source) and provides a clock based on
    the PCR.

### Matroska container format improvements

-   H.266 / VVC video muxing and demuxing support

-   matroskamux

    -   was ported to the GstAggrega                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            