mirror of
https://github.com/jellyfin/jellyfin-sdk-kotlin.git
synced 2024-12-11 16:06:01 +00:00
live tv fixes
This commit is contained in:
parent
ea6f3f3724
commit
766f7b152e
187
.idea/workspace.xml
generated
187
.idea/workspace.xml
generated
@ -7,8 +7,13 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="5b626835-6518-4586-bf6c-5bbba32974d2" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.android.jar" afterPath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.android.jar" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.jar" afterPath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.jar" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
</list>
|
||||
<ignored path="MediaBrowser.ApiClient.Java.iws" />
|
||||
@ -36,16 +41,61 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="StreamBuilder.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java">
|
||||
<file leaf-file-name="ApiClient.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.43568146" vertical-offset="10753" max-vertical-offset="16779">
|
||||
<caret line="676" column="22" selection-start-line="676" selection-start-column="22" selection-end-line="676" selection-end-column="22" />
|
||||
<state vertical-scroll-proportion="-21.62069" vertical-offset="38796" max-vertical-offset="44336">
|
||||
<caret line="2389" column="74" selection-start-line="2389" selection-start-column="74" selection-end-line="2389" selection-end-column="74" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PlaybackManager.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.26080364" vertical-offset="2070" max-vertical-offset="4250">
|
||||
<caret line="165" column="140" selection-start-line="165" selection-start-column="140" selection-end-line="165" selection-end-column="140" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="GetPlaybackInfoResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="175" max-vertical-offset="1207">
|
||||
<caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="OpenLiveStreamResponse.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="612">
|
||||
<caret line="14" column="26" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="StreamInfo.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-14.655172" vertical-offset="0" max-vertical-offset="11509">
|
||||
<caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
|
||||
<folding>
|
||||
<element signature="e#991#992#0" expanded="true" />
|
||||
<element signature="e#1014#1015#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
@ -54,7 +104,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/DeviceResumeFromSleepObservable.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/connectionmanager/ConnectionManager.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/comparators/NameComparator.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/comparators/SortNameComparator.java" />
|
||||
@ -98,13 +147,14 @@
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorterComparator.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/Video.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/server/mediasync/SyncDataInnerResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
|
||||
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -137,7 +187,6 @@
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@ -379,6 +428,7 @@
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
@ -600,20 +650,20 @@
|
||||
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19135308" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21306607" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21306607" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="Vcs.Log.UiProperties">
|
||||
@ -643,20 +693,6 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/sync/LocalItemInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.025777103" vertical-offset="0" max-vertical-offset="1319">
|
||||
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/QueryStringDictionary.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-0.02284012" vertical-offset="2369" max-vertical-offset="6732">
|
||||
<caret line="157" column="89" selection-start-line="157" selection-start-column="8" selection-end-line="157" selection-end-column="89" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/sync/DeviceFileInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.033763655" vertical-offset="0" max-vertical-offset="1007">
|
||||
@ -924,31 +960,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.6186505" vertical-offset="0" max-vertical-offset="1319">
|
||||
<caret line="48" column="63" selection-start-line="48" selection-start-column="63" selection-end-line="48" selection-end-column="63" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.41708043" vertical-offset="37014" max-vertical-offset="45237">
|
||||
<caret line="2206" column="42" selection-start-line="2206" selection-start-column="42" selection-end-line="2206" selection-end-column="42" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.3995451" vertical-offset="0" max-vertical-offset="1319">
|
||||
<caret line="36" column="82" selection-start-line="36" selection-start-column="82" selection-end-line="36" selection-end-column="82" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/server/mediasync/MediaSync.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="5.964367" vertical-offset="616" max-vertical-offset="8721">
|
||||
@ -961,7 +972,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.09021986" vertical-offset="0" max-vertical-offset="1319">
|
||||
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -969,7 +979,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.09021986" vertical-offset="0" max-vertical-offset="1319">
|
||||
<caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -987,30 +996,74 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.21379833" vertical-offset="7" max-vertical-offset="1326">
|
||||
<caret line="26" column="51" selection-start-line="26" selection-start-column="51" selection-end-line="26" selection-end-column="51" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.4118217" vertical-offset="0" max-vertical-offset="1032">
|
||||
<caret line="31" column="116" selection-start-line="31" selection-start-column="116" selection-end-line="31" selection-end-column="116" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/mediainfo/LiveStreamRequest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="2756" max-vertical-offset="4046">
|
||||
<caret line="223" column="9" selection-start-line="223" selection-start-column="9" selection-end-line="223" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.22631167" vertical-offset="3842" max-vertical-offset="11458">
|
||||
<caret line="443" column="139" selection-start-line="443" selection-start-column="139" selection-end-line="443" selection-end-column="139" />
|
||||
<state vertical-scroll-proportion="0.065891474" vertical-offset="0" max-vertical-offset="1032">
|
||||
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.43568146" vertical-offset="10753" max-vertical-offset="16779">
|
||||
<caret line="676" column="22" selection-start-line="676" selection-start-column="22" selection-end-line="676" selection-end-column="22" />
|
||||
<state vertical-scroll-proportion="0.33281127" vertical-offset="13481" max-vertical-offset="16779">
|
||||
<caret line="828" column="64" selection-start-line="828" selection-start-column="62" selection-end-line="828" selection-end-column="64" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-21.62069" vertical-offset="38796" max-vertical-offset="44336">
|
||||
<caret line="2389" column="74" selection-start-line="2389" selection-start-column="74" selection-end-line="2389" selection-end-column="74" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-14.655172" vertical-offset="0" max-vertical-offset="11509">
|
||||
<caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
|
||||
<folding>
|
||||
<element signature="e#991#992#0" expanded="true" />
|
||||
<element signature="e#1014#1015#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="612">
|
||||
<caret line="14" column="26" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="175" max-vertical-offset="1207">
|
||||
<caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.26080364" vertical-offset="2070" max-vertical-offset="4250">
|
||||
<caret line="165" column="140" selection-start-line="165" selection-start-column="140" selection-end-line="165" selection-end-column="140" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
Binary file not shown.
Binary file not shown.
@ -31,6 +31,9 @@ import mediabrowser.model.globalization.CountryInfo;
|
||||
import mediabrowser.model.globalization.CultureDto;
|
||||
import mediabrowser.model.livetv.*;
|
||||
import mediabrowser.model.logging.ILogger;
|
||||
import mediabrowser.model.mediainfo.LiveStreamRequest;
|
||||
import mediabrowser.model.mediainfo.LiveStreamResponse;
|
||||
import mediabrowser.model.mediainfo.PlaybackInfoRequest;
|
||||
import mediabrowser.model.mediainfo.PlaybackInfoResponse;
|
||||
import mediabrowser.model.net.HttpException;
|
||||
import mediabrowser.model.notifications.NotificationQuery;
|
||||
@ -2226,7 +2229,7 @@ public class ApiClient extends BaseApiClient {
|
||||
{
|
||||
String url = GetApiUrl("Sessions/Logout");
|
||||
|
||||
PostAsync(url, new EmptyResponse(){
|
||||
PostAsync(url, new EmptyResponse() {
|
||||
|
||||
@Override
|
||||
public void onResponse() {
|
||||
@ -2361,19 +2364,29 @@ public class ApiClient extends BaseApiClient {
|
||||
Send(url, "GET", new SerializedResponse<QueryFilters>(response, jsonSerializer, QueryFilters.class));
|
||||
}
|
||||
|
||||
public void GetPlaybackInfo(String itemId, String userId, final Response<PlaybackInfoResponse> response)
|
||||
public void GetPlaybackInfo(PlaybackInfoRequest request, final Response<PlaybackInfoResponse> response)
|
||||
{
|
||||
QueryStringDictionary dict = new QueryStringDictionary();
|
||||
|
||||
dict.Add("UserId", userId);
|
||||
dict.Add("UserId", request.getUserId());
|
||||
|
||||
String url = GetApiUrl("Items/" + itemId + "/MediaInfo", dict);
|
||||
String url = GetApiUrl("Items/" + request.getId() + "/PlaybackInfo", dict);
|
||||
|
||||
url = AddDataFormat(url);
|
||||
|
||||
Send(url, "GET", new SerializedResponse<PlaybackInfoResponse>(response, jsonSerializer, PlaybackInfoResponse.class));
|
||||
}
|
||||
|
||||
public void OpenLiveStream(LiveStreamRequest request, final Response<LiveStreamResponse> response)
|
||||
{
|
||||
String url = GetApiUrl("LiveStreams/Open");
|
||||
|
||||
url = AddDataFormat(url);
|
||||
|
||||
String json = getJsonSerializer().SerializeToString(request);
|
||||
Send(url, "POST", json, "application/json", new SerializedResponse<LiveStreamResponse>(response, jsonSerializer, LiveStreamResponse.class));
|
||||
}
|
||||
|
||||
public void GetDevicesOptions(final Response<DevicesOptions> response)
|
||||
{
|
||||
String url = GetApiUrl("System/Configuration/devices");
|
||||
|
@ -1,7 +1,11 @@
|
||||
package mediabrowser.apiinteraction.playback;
|
||||
|
||||
import android.media.session.MediaController;
|
||||
import mediabrowser.apiinteraction.ApiClient;
|
||||
import mediabrowser.apiinteraction.Response;
|
||||
import mediabrowser.model.dlna.*;
|
||||
import mediabrowser.model.mediainfo.LiveStreamRequest;
|
||||
import mediabrowser.model.mediainfo.LiveStreamResponse;
|
||||
import mediabrowser.model.mediainfo.PlaybackInfoResponse;
|
||||
|
||||
/**
|
||||
@ -10,15 +14,17 @@ import mediabrowser.model.mediainfo.PlaybackInfoResponse;
|
||||
public class GetPlaybackInfoResponse extends Response<PlaybackInfoResponse> {
|
||||
|
||||
private PlaybackManager playbackManager;
|
||||
private ApiClient apiClient;
|
||||
private String serverId;
|
||||
private AudioOptions options;
|
||||
private Response<StreamInfo> response;
|
||||
private StreamBuilder streamBuilder;
|
||||
private boolean isVideo;
|
||||
|
||||
public GetPlaybackInfoResponse(PlaybackManager playbackManager, String serverId, AudioOptions options, Response<StreamInfo> response, StreamBuilder streamBuilder, boolean isVideo) {
|
||||
public GetPlaybackInfoResponse(PlaybackManager playbackManager, ApiClient apiClient, String serverId, AudioOptions options, Response<StreamInfo> response, StreamBuilder streamBuilder, boolean isVideo) {
|
||||
super(response);
|
||||
this.playbackManager = playbackManager;
|
||||
this.apiClient = apiClient;
|
||||
this.serverId = serverId;
|
||||
this.options = options;
|
||||
this.response = response;
|
||||
@ -39,16 +45,27 @@ public class GetPlaybackInfoResponse extends Response<PlaybackInfoResponse> {
|
||||
|
||||
options.setMediaSources(playbackInfo.getMediaSources());
|
||||
|
||||
final StreamInfo streamInfo;
|
||||
|
||||
if (isVideo){
|
||||
StreamInfo streamInfo = playbackManager.getVideoStreamInfoInternal(serverId, (VideoOptions)options);
|
||||
streamInfo.setPlaybackInfo(playbackInfo);
|
||||
playbackManager.SendResponse(response, streamInfo);
|
||||
streamInfo = playbackManager.getVideoStreamInfoInternal(serverId, (VideoOptions)options);
|
||||
}
|
||||
else{
|
||||
StreamInfo streamInfo = streamBuilder.BuildAudioItem(options);
|
||||
playbackManager.SendResponse(response, streamInfo);
|
||||
streamInfo = streamBuilder.BuildAudioItem(options);
|
||||
}
|
||||
|
||||
}
|
||||
streamInfo.setPlaybackInfo(playbackInfo);
|
||||
|
||||
if (streamInfo.getMediaSource().getRequiresOpening()){
|
||||
|
||||
LiveStreamRequest request = new LiveStreamRequest(options);
|
||||
request.setUserId(apiClient.getCurrentUserId());
|
||||
request.setOpenToken(streamInfo.getMediaSource().getOpenToken());
|
||||
|
||||
apiClient.OpenLiveStream(request, new OpenLiveStreamResponse(streamInfo, playbackManager, response));
|
||||
}
|
||||
else{
|
||||
playbackManager.SendResponse(response, streamInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
package mediabrowser.apiinteraction.playback;
|
||||
|
||||
import android.media.session.MediaController;
|
||||
import mediabrowser.apiinteraction.Response;
|
||||
import mediabrowser.model.dlna.StreamInfo;
|
||||
import mediabrowser.model.mediainfo.LiveStreamResponse;
|
||||
|
||||
/**
|
||||
* Created by Luke on 4/1/2015.
|
||||
*/
|
||||
public class OpenLiveStreamResponse extends Response<LiveStreamResponse> {
|
||||
|
||||
private StreamInfo streamInfo;
|
||||
private PlaybackManager playbackManager;
|
||||
private Response<StreamInfo> response;
|
||||
|
||||
public OpenLiveStreamResponse(StreamInfo streamInfo, PlaybackManager playbackManager, Response<StreamInfo> response) {
|
||||
this.streamInfo = streamInfo;
|
||||
this.playbackManager = playbackManager;
|
||||
this.response = response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(LiveStreamResponse liveStreamResponse){
|
||||
|
||||
streamInfo.setMediaSource(liveStreamResponse.getMediaSource());
|
||||
playbackManager.SendResponse(response, streamInfo);
|
||||
}
|
||||
|
||||
}
|
@ -11,6 +11,7 @@ import mediabrowser.model.dto.MediaSourceInfo;
|
||||
import mediabrowser.model.entities.MediaStream;
|
||||
import mediabrowser.model.extensions.StringHelper;
|
||||
import mediabrowser.model.logging.ILogger;
|
||||
import mediabrowser.model.mediainfo.PlaybackInfoRequest;
|
||||
import mediabrowser.model.session.PlayMethod;
|
||||
import mediabrowser.model.session.PlaybackProgressInfo;
|
||||
import mediabrowser.model.session.PlaybackStartInfo;
|
||||
@ -136,7 +137,12 @@ public class PlaybackManager {
|
||||
|
||||
if (!isOffline)
|
||||
{
|
||||
apiClient.GetPlaybackInfo(options.getItemId(), apiClient.getCurrentUserId(), new GetPlaybackInfoResponse(this, serverId, options, response, streamBuilder, false));
|
||||
PlaybackInfoRequest request = new PlaybackInfoRequest();
|
||||
request.setId(options.getItemId());
|
||||
request.setUserId(apiClient.getCurrentUserId());
|
||||
request.setMaxStreamingBitrate(options.getMaxBitrate());
|
||||
request.setMediaSourceId(options.getMediaSourceId());
|
||||
apiClient.GetPlaybackInfo(request, new GetPlaybackInfoResponse(this, apiClient, serverId, options, response, streamBuilder, false));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -150,7 +156,14 @@ public class PlaybackManager {
|
||||
|
||||
if (!isOffline)
|
||||
{
|
||||
apiClient.GetPlaybackInfo(options.getItemId(), apiClient.getCurrentUserId(), new GetPlaybackInfoResponse(this, serverId, options, response, streamBuilder, true));
|
||||
PlaybackInfoRequest request = new PlaybackInfoRequest();
|
||||
request.setId(options.getItemId());
|
||||
request.setUserId(apiClient.getCurrentUserId());
|
||||
request.setMaxStreamingBitrate(options.getMaxBitrate());
|
||||
request.setMediaSourceId(options.getMediaSourceId());
|
||||
request.setAudioStreamIndex(options.getAudioStreamIndex());
|
||||
request.setSubtitleStreamIndex(options.getSubtitleStreamIndex());
|
||||
apiClient.GetPlaybackInfo(request, new GetPlaybackInfoResponse(this, apiClient, serverId, options, response, streamBuilder, true));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import mediabrowser.apiinteraction.device.IDevice;
|
||||
import mediabrowser.model.dlna.DlnaProfileType;
|
||||
import mediabrowser.model.dlna.StreamInfo;
|
||||
import mediabrowser.model.logging.ILogger;
|
||||
import mediabrowser.model.session.PlayMethod;
|
||||
|
||||
/**
|
||||
* Created by Luke on 3/17/2015.
|
||||
@ -28,7 +29,7 @@ public class ReportPlaybackStopResponse extends EmptyResponse {
|
||||
|
||||
private void onAny(){
|
||||
|
||||
if (streamInfo.getMediaType() == DlnaProfileType.Video)
|
||||
if (streamInfo.getMediaType() == DlnaProfileType.Video && streamInfo.getPlayMethod() == PlayMethod.Transcode)
|
||||
{
|
||||
String playSessionId = streamInfo.getPlaybackInfo() == null ?
|
||||
null :
|
||||
|
Loading…
Reference in New Issue
Block a user