mozilla-gstreamer.patch
changeset 512 bab27818f3a5
parent 470 983544dc8af4
child 515 0f6539389500
equal deleted inserted replaced
511:a5cbc8c27e63 512:bab27818f3a5
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent 305397d1d86aaf3d3da2e9357eea2fdd1888a325
     2 # Parent a9a49c20c491011f981b6c110aadfa6a01a1431e
     3 # User Wolfgang Rosenauer <wr@rosenauer.org>
     3 # User Wolfgang Rosenauer <wr@rosenauer.org>
     4 Bug 761030 - Crash with HTML 5 video with gstreamer enabled (TM: 16)
     4 Bug 761030 - Crash with HTML 5 video with gstreamer enabled (TM: 16)
     5 
     5 
       
     6 No Bug - use GStreamer _only_ for MP4 (not WebM/OGG)
       
     7 
       
     8 diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/content/src/nsHTMLMediaElement.cpp
       
     9 --- a/content/html/content/src/nsHTMLMediaElement.cpp
       
    10 +++ b/content/html/content/src/nsHTMLMediaElement.cpp
       
    11 @@ -2278,21 +2278,17 @@ nsHTMLMediaElement::CreateDecoder(const 
       
    12      nsRefPtr<nsRawDecoder> decoder = new nsRawDecoder();
       
    13      if (decoder->Init(this)) {
       
    14        return decoder.forget();
       
    15      }
       
    16    }
       
    17  #endif
       
    18  #ifdef MOZ_OGG
       
    19    if (IsOggType(aType)) {
       
    20 -#ifdef MOZ_GSTREAMER 
       
    21 -    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
       
    22 -#else
       
    23      nsRefPtr<nsOggDecoder> decoder = new nsOggDecoder();
       
    24 -#endif
       
    25      if (decoder->Init(this)) {
       
    26        return decoder.forget();
       
    27      }
       
    28    }
       
    29  #endif
       
    30  #ifdef MOZ_WAVE
       
    31    if (IsWaveType(aType)) {
       
    32      nsRefPtr<nsWaveDecoder> decoder = new nsWaveDecoder();
       
    33 @@ -2306,21 +2302,17 @@ nsHTMLMediaElement::CreateDecoder(const 
       
    34      nsRefPtr<nsMediaPluginDecoder> decoder = new nsMediaPluginDecoder(aType);
       
    35      if (decoder->Init(this)) {
       
    36        return decoder.forget();
       
    37      }
       
    38    }
       
    39  #endif
       
    40  #ifdef MOZ_WEBM
       
    41    if (IsWebMType(aType)) {
       
    42 -#ifdef MOZ_GSTREAMER 
       
    43 -    nsRefPtr<nsGStreamerDecoder> decoder = new nsGStreamerDecoder();
       
    44 -#else
       
    45      nsRefPtr<nsWebMDecoder> decoder = new nsWebMDecoder();
       
    46 -#endif
       
    47      if (decoder->Init(this)) {
       
    48        return decoder.forget();
       
    49      }
       
    50    }
       
    51  #endif
       
    52  
       
    53  #ifdef MOZ_GSTREAMER 
       
    54    if (IsH264Type(aType)) {
     6 diff --git a/content/media/gstreamer/nsGStreamerReader.cpp b/content/media/gstreamer/nsGStreamerReader.cpp
    55 diff --git a/content/media/gstreamer/nsGStreamerReader.cpp b/content/media/gstreamer/nsGStreamerReader.cpp
     7 --- a/content/media/gstreamer/nsGStreamerReader.cpp
    56 --- a/content/media/gstreamer/nsGStreamerReader.cpp
     8 +++ b/content/media/gstreamer/nsGStreamerReader.cpp
    57 +++ b/content/media/gstreamer/nsGStreamerReader.cpp
     9 @@ -447,16 +447,18 @@ bool nsGStreamerReader::DecodeVideoFrame
    58 @@ -447,16 +447,18 @@ bool nsGStreamerReader::DecodeVideoFrame
    10    for(int i = 0; i < 3; i++) {
    59    for(int i = 0; i < 3; i++) {