Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 16, 2012
  1. Make isStreamableV2() private (thanks Raptor399!)

    authored
    Removed deprecated mark-up and made isStreamableV2() private. Also some
    corrections to related documentation.
  2. Improve efficiency of DLNAResource.addChild() method

    authored
    With the knowledge of the relationship between isCompatible(),
    isStreamableV2(), and isSkipTranscode(); and also the peculiarity with
    WEB.java it was possible to optimize the efficiency of the
    DLNAResource.addChild() method.
    
    Here, the isIncompatible variable is used to over-ride the relationship
    for WEB "formats".
  3. Improve decision for generating [NO TRANSCODE] child

    authored
    The #TRANSCODE# folder is only generated for children of type video, so
    the child's format is never null. Similarly, the following relationship
    applies (we never deal with the WEB "format" here):
    isCompatible() = (isStreamableV2() || isSkipTranscode())
  4. Store the results for isStreamableV2() and isSkipTranscode() in the

    authored
    child.
    
    These values describe the child and should be associated with it. This
    fixes a bug in VirtualFileTranscodeFolder.java, where
    justStreamed.isSkipTranscode() always returns false during the the [NO
    TRANSCODE] folder decision.
  5. A method for recalling media info results

    authored
    Remove forceTranscodeV2. Use isStreamableV2() and setStreamableV2()
    instead.
    
    The DLNAResource.isStreamableV2() method is intended to describe whether
    a resource's media info has support defined from it's default renderer.
    This value can be stored instead of continuously recalculating it.
  6. Prevent forceTranscodeV2 from returning false unless the media is in

    authored
    fact streamable.
    
    This patch ensures/enforces the following relationship:
    Format.isCompatible() = isSkipTranscode() && !forceTranscodeV2
    
    The above relationship may be exploited in the future to enhance
    the efficiency of the code. The override of isCompatible() by WEB.java
    currently prevents this (it is the only "format" which breaks the
    relationship).
    
    Motivation for use as exploit:
    See the addChild() method in DLNAResource.java and notice how the
    conditional statements reduce when applying this relationship. The same
    applies for FileTranscodeVirtualFolder.java.
    
    Additionally, there is more control over when
    RendererConfiguration.match() and Format.skip() are executed.
Commits on Jan 15, 2012
  1. @Raptor399

    Fixed isCompatible() for web images not appearing.

    Raptor399 authored committed
  2. @Raptor399

    Updated CHANGELOG

    Raptor399 authored committed
  3. @Raptor399

    Added tests for backwards compatiblity of isCompatible()

    Raptor399 authored committed
  4. @Raptor399

    Removing skip() override introduced in 562fdb8.

    Raptor399 authored committed
    The method interfered with the correctness of isCompatible() and its
    backwards compatibility with ps3compatible().
    
    On top of that the comment seemed to want to force transcoding, where
    in reality returning true ended up forcing streaming. To remove this
    paradox and to restore control to each individual renderer
    configuration the method has been removed, bringing the code in line
    with all other formats.
  5. @Raptor399

    Added unit tests for Format and isCompatible()

    Raptor399 authored committed
  6. @Raptor399

    Reverting back to original method name.

    Raptor399 authored committed
  7. @Raptor399

    Removed outdated comments

    Raptor399 authored committed
  8. @Raptor399
  9. @Raptor399

    Moved isCompatible() implementation to Format.

    Raptor399 authored committed
    Removed the overrides of it in all formats. Also verified that the
    PS3.conf correctly mimicks the behavior of ps3compatible(), meaning the
    new isCompatible() should correctly mimicks the behavior of
    ps3compatible() for the PS3 in particular.
    
    Other renderers may notice different behavior now that the hardcoded
    behavior of ps3compatible() is gone. That is a side effect of the
    newly won possiblity to truly configure compatibility per renderer.
  10. @Raptor399

    Added comments, rewrote inline conditions.

    Raptor399 authored committed
  11. @Raptor399
  12. @Raptor399
  13. @SubJunk
  14. @Raptor399

    Updated FFmpeg build.

    Raptor399 authored
    Also improved PMS build instructions.
Commits on Jan 12, 2012
  1. @Raptor399

    Merge pull request #8 from ExSport/master

    Raptor399 authored
    Ability of defining CustomMencoderOptions on renderer level
  2. @ExSport
  3. @ExSport

    CustomMencoderOptions defined on renderer level added.

    ExSport authored
    Added info to Renderer.conf for hidden params.
Commits on Jan 11, 2012
  1. @Raptor399

    Enabled build information again (thanks, smo!)

    Raptor399 authored
    Eclipse warns about the execution of the plugin, but it is executed
    by Maven nevertheless. Building works on Windows and OSX.
Commits on Jan 10, 2012
  1. @Raptor399
Commits on Jan 9, 2012
  1. @SubJunk

    Increment year

    SubJunk authored
  2. @SubJunk
  3. @SubJunk

    Updated JRE autodownload to 7u2 from 7u1

    SubJunk authored
    Improves reliability, performance and Firefox compatibility
  4. @SubJunk

    Tweak settings language

    SubJunk authored
  5. @Raptor399

    Disabled build information.

    Raptor399 authored
    Due to a problem with the maven-git-commit-id-plugin not running on the
    "initialize" phase in the pom.xml the git properties are not replaced
    with proper values in the project properties files.
    
    See: ktoso/maven-git-commit-id-plugin#22
  6. @Raptor399

    Whitespace nitfix

    Raptor399 authored
Commits on Jan 8, 2012
  1. @Raptor399
  2. @Raptor399
  3. @Raptor399

    Adding Executor to enforce serial processing and limiting the number …

    Raptor399 authored
    …of channel handling threads to 1 to avoid concurrency issues.
    
    This should fix issue 1156 for the HTTP V2 engine.
    
    Logging reveals that multiple threads can be involved in handling the same request.
    The PMS code has not been designed to handle one request with multiple threads in parallel.
    
    As a result concurrency issues arise at random locations, several ArrayOutOfBoundsExceptions
    and NullPointerExceptions have been reported at places where they should not occur in a
    single thread environment.
    
    To avoid concurrency issues this commit limits the number of pool threads to 1.
    
    Performance does not seem to take a hit from this change.
    Also, it is still possible to stream to multiple clients at the same time.
    
    See: http://docs.jboss.org/netty/3.2/api/org/jboss/netty/handler/execution/OrderedMemoryAwareThreadPoolExecutor.html
Commits on Jan 7, 2012
  1. @Raptor399
Something went wrong with that request. Please try again.