[fixed] StreamSource branch introduced player issue when enumerating streams (1 Viewer)

morpheus_xx

Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    Yesterday I found a nasty issue: after switching the "DirectShow" instead of "DirectShowLib" to support the new StreamSource there is a problem when reading the AMMediaType from the IStreamSelector:

    The marshalling seems wrong, the returned majorTypes are not valid, so no audio streams will be added to list and you can't change them.

    This leads to:
    1. You cannot change audio streams anynore
    2. You cannot prefer multichannel audio
    3. TsReader playback stalls for every channel switch (TV) /playback switch for 5 seconds, because it expects an explicit stream selection.
    @offbyone can you please look into this? Maybe only the marshalling of AMMediaType is wrong.

    And please check, if the retrieved AMMediaType is freed properly.

    If we cannot fix this in due time, I would revert changes from dev and move them back into a branch.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    • Thread starter
    • Moderator
    • #4
    Fixed another issue: Stream was disposed on Stop, which is wrong because of:
    • Disposal of Stream should only happen if it was created by itself
    • Disposal must not happen in Stop() but in destructor
    An example of 2nd case is: use MP in windowed mode, start playback, resize window -> ObjectDisposedException from the Output pin. Cause: Resize of window causes a DX device reset, GUI resources are released and reallocated. This involves "graph.Stop()", which disposed the stream.
     

    Users who are viewing this thread

    Top Bottom