Mopidy: рдСрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдмрдлрд░рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рд╕рд┐рддре░ 2015  ┬╖  36рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mopidy/mopidy

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░,

рдореБрдЭреЗ mopidy 1.1.0 рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рд░реЗрдбрд┐рдпреЛрд╕реНрдЯреНрд░реАрдо рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдХрднреА-рдХрднреА рд╕реНрдЯреНрд░реАрдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЪрд▓рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХреА рдмрдлрд░рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП mopidy рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд▓реЙрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:

EBUG    2015-09-10 15:37:27,085 [12014:MainThread] mopidy.audio.gst
  Got state-changed message: old=GST_STATE_PLAYING new=GST_STATE_PAUSED pending=GST_STATE_VOID_PENDING
DEBUG    2015-09-10 15:37:27,085 [12014:MainThread] mopidy.audio.actor
  Audio event: state_changed(old_state=playing, new_state=paused, target_state=playing)
DEBUG    2015-09-10 15:37:27,086 [12014:MainThread] mopidy.audio.gst
  Got async-done.
DEBUG    2015-09-10 15:37:27,086 [12014:MainThread] mopidy.listener
  Sending state_changed to AudioListener: {'old_state': u'playing', 'target_state': u'playing', 'new_state': u'paused'}
DEBUG    2015-09-10 15:37:27,533 [12014:HttpServer] mopidy.http.handlers
  Received WebSocket message from 127.0.0.1: u'{"method":"core.playback.get_time_position","jsonrpc":"2.0","id":31252}'
DEBUG    2015-09-10 15:37:28,533 [12014:HttpServer] mopidy.http.handlers
  Received WebSocket message from 127.0.0.1: u'{"method":"core.playback.get_time_position","jsonrpc":"2.0","id":31253}'
TRACE    2015-09-10 15:37:29,268 [12014:MainThread] mopidy.audio.gst
  Got buffering message: percent=6%
DEBUG    2015-09-10 15:37:29,533 [12014:HttpServer] mopidy.http.handlers
  Received WebSocket message from 127.0.0.1: u'{"method":"core.playback.get_time_position","jsonrpc":"2.0","id":31254}'
TRACE    2015-09-10 15:37:29,737 [12014:MainThread] mopidy.audio.gst
  Got buffering message: percent=7%

рдЬрдм рдмрдлрд╝рд░реНрд╕ 100% рддрдХ рднрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд▓реЗрдмреИрдХ рдЪрд╛рд▓реВ рд░рд╣рддрд╛ рд╣реИред

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ mplayer, vlc рдЖрджрд┐ рдЬреИрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдлрд░-рдЯрд╛рдЗрдо рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рд╕рдордп рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдмрдиреА рд╣реБрдИ рд╣реИред

[audio]
output = alsasink buffer-time=200000 latency-time=10000
mixer = software

рдореБрдЭреЗ mopidy рдмрдлрд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВред рд╢рд╛рдпрдж gstreamer рдХреЗ рд▓рд┐рдП рдмрдлрд╝рд░рд╕рд╛рдЗрдЬрд╝ рдмрдврд╝рд╛рдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред

рдХреНрдпрд╛ рд╣рд╛рд▓ рдХреЗ mopidy рдмрд┐рд▓реНрдб рдореЗрдВ рдЗрд╕реЗ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ (iam рд╡рд░реНрддрдорд╛рди 1.1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ)ред
рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдмрдлрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдСрдкреНрдЯреЛрди рдпрд╛ рд╕реБрдзрд╛рд░ рджреЗрдЦрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдЖрдкрдХреЗ рдорд╣рд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рдЕрдЧрд░ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдкрд╛рдЧрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдЕрднреА рднреА рд╣рд░ рдПрдХ рд░реЗрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде Mopidy 2.0.1 рдкрд░ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕рдордЭрд╛рдПрдЧрд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдмрдЧ рдХреЛ рднрдЧрд╡рд╛рди рдХреЗ рд╕рдВрдЧреАрдд рд╕рд░реНрд╡рд░ рдкрд░ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ?

рд╕рднреА 36 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ mopidy рд╕рдВрд╕реНрдХрд░рдг 1.1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рднреА рдРрд╕рд╛ рдХрд░реВрдБ

alsasink рдмрдлрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдкрдХреЛ рд╢рд╛рдпрдж playbin2 , рдпрд╛ рд╕рдВрднрд╡рддрдГ queue рдХреЗ рдЕрдВрджрд░ рдмрдлрд╝рд░реНрд╕ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдХреЛрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ TODO рд╣реИ рдЬреЛ рдЗрди рдХрддрд╛рд░реЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЯреНрд╡реАрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдмрдЧ рднреА рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдмрдлрд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╣рдо GStreamers рдЕрдиреБрд╢рдВрд╕рд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди рдХреЗрд▓реЗ 16.04 рдХреЗ рд╕рд╛рде рдХреЗрд▓реЗ рдХреЗ рдкрд╛рдИ рдкрд░ рдореЛрдкрд┐рдбреА 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЕрднреА рднреА рд╣рд░ рдПрдХ рд░реЗрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде Mopidy 2.0.1 рдкрд░ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕рдордЭрд╛рдПрдЧрд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдмрдЧ рдХреЛ рднрдЧрд╡рд╛рди рдХреЗ рд╕рдВрдЧреАрдд рд╕рд░реНрд╡рд░ рдкрд░ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ?

@karlmuuga рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ (1) рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреНрдп HTTP рд╕рдВрдЧреАрдд рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Mopidy рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрдЧреАрдд рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ Spotify рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рдерд╛, рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛); рдФрд░ (2) рд╕рдорд╕реНрдпрд╛ GStreamer рдореЗрдВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдПрдХ рддреГрддреАрдп рдкрдХреНрд╖ рдШрдЯрдХ рдЬрд┐рд╕реЗ Mopidy рд╕реАрдзреЗ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдкреНрд▓реЗрдмрд┐рди рдФрд░ рдЕрдкрдиреЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдпреВрдЖрд░рдЖрдИ рдХреЗ рд╕рд╛рде рдЬреАрдПрд╕рдЯреА-рд▓реЙрдиреНрдЪ (рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЬреАрд╕реНрдЯреНрд░реАрдорд░ рдХреНрд▓рд╛рдЗрдВрдЯ) рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реВрдкhttpsrc рд╕реЗ рдмрдлрд╝рд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрд╢рд┐рдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрддреНрддрд┐рдЬрдирдХ рддрддреНрд╡ рд╣реИ ( https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins- Good-plugins/html/gst-plugins-good-plugins-souphttpsrc.html)ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдкреНрд▓реЗрдмрд┐рди рдХреЗ рдЕрдВрджрд░ рджрдмрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рдкрде рд▓реЗрдирд╛ рдФрд░ рдЕрдкрдирд╛ рдЖрдХреНрд░реЛрд╢ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдХрд┐ рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИред

@allquixotic : рдареАрдХ рд╣реИ, рдореИрдВ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ _exclusively_ (рд╕рд╛рджреЗ M3U рд░реЗрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо, рдкреЙрдбрдХрд╛рд╕реНрдЯ, рдЗрдВрдЯрд░рдиреЗрдЯрдЖрд░реНрдХрд╛рдЗрд╡, рдбреЗрд▓реАрдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рд╛рд▓ рдХреЗ Mopidy рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдлреА рд╣рдж рддрдХ рдмрд╛рд╣рд░реА рдХрд╛рд░рдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдЗрддрдиреА рд╣реА рдЯреНрд╡реАрдХрд┐рдВрдЧ рдмрдлрд╝рд░рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рдпрд╣ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдХрдо рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЖрд░реНрдо рдмреЛрд░реНрдб рдпрд╛рдиреА рдЙрдирдХреА рдбреЗрд╕реНрдХрдЯреЙрдк рдорд╢реАрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

@allquixotic рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП рдЦреЗрдж рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдк gstreamer рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдЧрд▓рдд рд╣реИрдВред рдЬреАрдПрд╕рдЯреА-рд▓реЙрдиреНрдЪ рд╕реНрдЯреНрд░реАрдо рдЪрд▓рд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдВрдЯрд░ рд╣рд┐рдЯ рдХреЗ рдмрд╛рдж рдпрд╣ рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдП рдФрд░ рд╕реНрдЯреНрд░реАрдо рдмрд┐рдирд╛ рд╣рд┐рдЪрдХреА рдХреЗ (рдореЛрдкрд┐рдб рдХреЗ рд╡рд┐рдкрд░реАрдд) рд╣реЛ рдЬрд╛рдПред рддреЛ, рдЖрдкрдиреЗ рдЬреЛ рдХрд╣рд╛ рдЙрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпреВрдЖрд░рдЖрдИ рдХреЛ рд╕реАрдзреЗ рдЬреАрдПрд╕рдЯреА рд╕реЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдФрд░ рдХреНрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ mopidy -v рд▓реЙрдЧ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЧреЛрддрд╛ рд▓рдЧрд╛рдпрд╛ред рд╡рд╣рд╛рдВ рд╕реЗ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд╖рдг рдкрд░ gstreamer рдмрдлрд░рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ)ред рдЙрд╕рдХреЗ рдмрд╛рдж рдЬреЛ рдХреБрдЫ рднреА рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдХреБрд▓ bs рд╣реИред рдпреБрдЧрд▓ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдмрд╛рдж рдореЗрдВ рдмрдлрд░ рднрд░ рдЬрд╛рддрд╛ рд╣реИ (ASYNC рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрджреЗрд╢ + 100% рдмрдлрд╝рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдФрд░ рдлрд┐рд░ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ 5 рдпрд╛ рдЕрдзрд┐рдХ рд╕реЗрдХрдВрдб рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреНрд▓реЗрдмреИрдХ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ (рдФрд░ рдкреВрд░реЗ рд╕рдордп, рд╕рдордп рдирд╛рдЙ рдкреНрд▓реЗрдЗрдВрдЧ рдШрдбрд╝реА рдкрд░ рдЖрдЧреЗ рдЯрд┐рдХ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореМрди рдХрдорд░рд╛ рднрд░рддрд╛ рд╣реИ)ред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдпрд╣рд╛рдБ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@tkem рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реЗрдЯрдЕрдк, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реНрдкреАрдб (рдореЗрд░рд╛ 5/5 рдПрдордмреАрдкреАрдПрд╕ рдХреЗрдмрд▓, рдХреНрд▓реАрди рдбреЗрдмрд┐рдпрди 7 рдиреНрдпреВрдирддрдо рдФрд░ рдЗрдВрдЯреЗрд▓ рдбреБрдЕрд▓ рдХреЛрд░) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдмрдлрд░рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@kingosticks рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдлреБрдЬрд┐рддреНрд╕реБ рд╕реАрдореЗрдВрд╕ рдПрдорд┐рд▓реЛ рд▓реИрдкрдЯреЙрдк рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдХрдо рд╢рдХреНрддрд┐ рд╡рд╛рд▓реА рдорд╢реАрди рдирд╣реАрдВ рд╣реИред

mopidy/audio/actor.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рд┐рдЪрдХреА рдЪрд▓реА рдЧрдИ рдереАред https://discuss.mopidy.com/t/streaming-radio-station-pausing-buffering/1251

  1. рдХреЛрдб рдХреА рдХреМрди рд╕реА рдкрдВрдХреНрддрд┐ рдмрд┐рд▓реНрдХреБрд▓? set_live(True) рдмрд┐рдЯ? рдЕрдЧрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдкреБрд░рд╛рдиреА рдЦреБрд▓реА рдмрдЧреЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рд╛рдЗрд╡ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рдХреЛ рд╢рд╛рдпрдж рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдСрдбрд┐рдпреЛ рдХреЛ рд╕рдВрдХреЗрдд рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд┐рдХрд╛рд▓рдирд╛ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рд▓рд╛рдЗрд╡ рд╣реИ рдпрд╛ рдирд╣реАрдВред
  2. рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рд╡рдЬрд╣ рдкрд╛рдпрдХреНрдХрд╛ рдЕрднрд┐рдиреЗрддрд╛ рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрд╕рд┐рдВрдХреНрд╕ рдЗрд╡реЗрдВрдЯреНрд╕ рдкрд░ рддреБрд░рдВрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реЛ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдереНрд░реЗрдб рд╕реЗрдлреНрдЯреА рдХреЗ рд╕рд╛рде рднреА рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рд╣рдо рдПрдХ рдЕрднрд┐рдиреЗрддрд╛ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕ рдЦреЛрдЬ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡?
  1. рд╣рд╛рдБ, рд╡рд╣ рдмрд┐рдЯред рдЕрдЧрд░ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ред
  2. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ.m3u8 рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ (рдмреЗрд╢рдХ рдЖрдк рд╕реНрдЯреНрд░реАрдо рдпреВрдЖрд░рдЖрдИ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ):
#EXTM3U
#EXTINF:0, Classic Rock
http://us2.internet-radio.com:8191

рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдЪрд▓рд╛рдПрдВред

@adamcik рдХреНрдпрд╛ рдЖрдк рдЦреЛрдЬ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗ? рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ on_source_setup рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛

  def _on_source_setup(self, element, source):
        gst_logger.debug(
            'Got source-setup signal: element=%s', source.__class__.__name__)

        if source.get_factory().get_name() == 'appsrc':
            self._appsrc.configure(source)
        else:
            self._appsrc.reset()

        if source.__class__.__name__ == '__main__.GstSoupHTTPSrc':
            gst_logger.debug('HTTP Src - setting live mode')
            source.set_live(True)

        utils.setup_proxy(source, self._config['proxy'])

рд░реЗрдбрд┐рдпреЛ рд╣рд┐рдЪрдХреА рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдзрд╛рд░рд╛ рдХреЗ рдЙрд╕ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЛ рджрд░реНрдЬрди рдпрд╛ рджреЛрдЧреБрдирд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдХрдерди рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдпрд╣ рдЙрдкрд╛рдп рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдореМрди рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдореБрдЭреЗ рдХреБрдЫ рднреА рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

is_live рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рд╕рд╛рдорд╛рдиреНрдп http рд╕реНрд░реЛрддреЛрдВ (рдЬрд┐рдирдХреА рдЕрд╡рдзрд┐ рд╣реИ) рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП dlna (mopidy-dleyna) рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП http рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдкрд┐рдЫрд▓реЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реЗ рдЧреАрдд рдкрд░ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд╣реИ рдХрд┐ _on_source_setup рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рдП рдХрд┐ рд╡рд╣ рд╕реНрд░реЛрдд рддрд▓рд╛рд╢рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдпрд╛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЕрд╡рдзрд┐ рдпрд╛ рдЕрдиреНрдп рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рдирд╣реАрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рдмрд╕ рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯ рдпрд╣рд╛рдБ :-) рдореИрдВ рдПрдХ рд╣реА рдмрдлрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ - рдХреЗрд╡рд▓ рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЕрджреНрдпрддрди рд░рд╛рд╕реНрдкрд┐рдпрди рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдореЗрд░реЗ рдбреЗрд╡рд▓рдкрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдирд╣реАрдВ, рдкреАрд╕реАрд▓рд┐рдирдХреНрд╕рдУрдПрд╕ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЗрди рджреЛ рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рдЙрдмрд╛рд▓рд╛ рд╣реИ:
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдмрдлрд░ рдореБрджреНрджрд╛: gst-validate-1.0 playbin uri=http://stream-dc1.radioparadise.com/mp3-128
% рдореЗрдВ рдмрдлрд╝рд░ рдЬрд╛рдирдХрд╛рд░реА 0% рдФрд░ рдХреБрдЫ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдмреАрдЪ рдмреНрд▓рд┐рдВрдХ рдХрд░ рд░рд╣реА рд╣реИ, рдФрд░ рд╕реНрдЯреНрд░реАрдо рдХрднреА рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ

рдбреАрдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде: GST_DEBUG=*:5 gst-validate-1.0 playbin uri=http://stream-uk1.radioparadise.com/mp3-192

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдмрдЬрд╛рдирд╛: gst-validate-1.0 playbin uri=http://streams.80s80s.de/love/mp3-192/radiosure/

рдореИрдВ рдПрдХ рдЕрдЬрдЧрд░ 2.7 gstreamer 1.0 рд╡реЗрдм рд░реЗрдбрд┐рдпреЛ рдкрд░ рдХреЛрдбрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреЗрд╡рд▓ рдмрд╣реБрдд рдХрдо рд░реЗрдбрд┐рдпреЛ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВ

рдСрд░реЗрдВрдЬ рдкреАрдЖрдИ рдкреАрд╕реА рдкреНрд▓рд╕, рдореЛрдкрд┐рдбреА рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдореБрдЭреЗ рд╡рд╣реА "рд╣рд┐рдЪрдХреА" рд╕рдорд╕реНрдпрд╛ рд╣реИ: 2.1.0-1
source.set_live(True) рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдиреЗ рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдорджрдж рдХреА... рдЬрдм рддрдХ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА Google Music рдХреА рдХрд┐рд╕реА рдкреБрд╕реНрддрдХ рдХреЗ рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (GstSoupHTTPSrc рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЧрдпрд╛)

рдХреЛрдИ рд╕рд▓рд╛рд╣?

рдзрдиреНрдпрд╡рд╛рдж

рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ "рдХрд░рдВрдЯ" рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА, рдЬреАрд╕реНрдЯреНрд░реАрдорд░ 1 рдФрд░ рдореЛрдкрд┐рдбреА 2 рдФрд░ рдорд┐рдХреНрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╕рднреНрдп рд╣реИрд╕рд╡реЗрд▓ рдЖрдзрд╛рд░рд┐рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Mopidy рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░реЗрдбрд┐рдпреЛ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред mopidy-youtube, mopidy-spotify рдФрд░ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓рд╕реНрдЯреЛрд░ рд╕реЗ рдЦреЗрд▓рдирд╛ рдШрдВрдЯреЛрдВ рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдпрд╛ рдмрдЧрдлрд┐рдХреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИ?
рдЙрд╕ рдмрдлрд╝рд░рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВред

рдореИрдВ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ 2.1.0 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдкреИрдЪ рд╣реИ:

diff --git a/mopidy/audio/actor.py b/mopidy/audio/actor.py
index 6020bc1..6020d2f 100644
--- a/mopidy/audio/actor.py
+++ b/mopidy/audio/actor.py
@@ -415,6 +415,7 @@ class Audio(pykka.ThreadingActor):
         self._buffering = False
         self._tags = {}
         self._pending_uri = None
+        self._is_live = False
         self._pending_tags = None
         self._pending_metadata = None

@@ -547,9 +548,12 @@ class Audio(pykka.ThreadingActor):
         else:
             self._appsrc.reset()

+        if source.get_factory().get_name() == 'souphttpsrc':
+            source.set_property('is-live', self._is_live)
+
         utils.setup_proxy(source, self._config['proxy'])

-    def set_uri(self, uri):
+    def set_uri(self, uri, is_live):
         """
         Set URI of audio to be played.

@@ -558,7 +562,7 @@ class Audio(pykka.ThreadingActor):
         :param uri: the URI to play
         :type uri: string
         """
-
+        self._is_live = is_live
         # XXX: Hack to workaround issue on Mac OS X where volume level
         # does not persist between track changes. mopidy/mopidy#886
         if self.mixer is not None:
diff --git a/mopidy/backend.py b/mopidy/backend.py
index 7412ccc..f15b616 100644
--- a/mopidy/backend.py
+++ b/mopidy/backend.py
@@ -248,7 +248,7 @@ class PlaybackProvider(object):
                 'Backend translated URI from %s to %s', track.uri, uri)
         if not uri:
             return False
-        self.audio.set_uri(uri).get()
+        self.audio.set_uri(uri, track.length is None).get()
         return True
     def resume(self):

@mczerski рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╛ UAudioDecorder_FFmpeg рд▓рд╛рдЗрди 1020 рдореЗрдВ LIBAVCODEC_VERSION рдХреЛ 57 рдХреЗ рдмрдЬрд╛рдп 60 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ ffmpeg 2.8 рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдлрд┐рдХреНрд╕ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╣рдо рд╣рд╛рд░реНрдбрдХреЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА http рд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрд╡ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ mopidy.audio рдХреЛ рдмреИрдХрдПрдВрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╕реНрд░реЛрдд рд▓рд╛рдЗрд╡ рд╣реИред рдлрд┐рд░ рд╕реНрдЯреНрд░реАрдо рдмреИрдХрдПрдВрдб рдФрд░ рдЕрдиреНрдп рдмреИрдХрдПрдВрдб рдЬрд┐рдирдореЗрдВ рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рд╣реЛрдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд▓реЗрдмреИрдХ рдмреИрдХрдПрдВрдб рдореЗрдВ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЗрд╕реЗ BaseStreamingBackend рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдРрд╕реЗ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@adamcik рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддрд╛ рдХрд┐ рд╕рднреА http рдзрд╛рд░рд╛рдПрдБ рд▓рд╛рдЗрд╡ рд╣реИрдВред рдореИрдВ рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВ рдХрд┐ рд▓рд╛рдЗрд╡ рдФрд░ рдЧреИрд░-рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХ.рд▓реЗрдВрде рдХреЛрдИ рдирд╣реАрдВ рд╣реИред track.length рдХреЛ mopidy.stream.actor рдореЗрдВ StreamLibraryProvider.lookup рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ mopidy.audio.scan рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред 'рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдпреЛрдЧреНрдп' рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ StreamLibraryProvider.lookup рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЯреНрд░реИрдХ рдЬрд┐рд╕рдХреА рдХреЛрдИ рд▓рдВрдмрд╛рдИ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рдЦреЛрдЬрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕реЗ рдПрдХ рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬрдм рдореИрдВ рдШрд░ рдкрд╣реБрдВрдЪреВрдВрдЧрд╛ рддреЛ @basisbit рдореИрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░реВрдВрдЧрд╛ред

@mczerski рдореЗрд░реЗ рд▓рд┐рдП рд╕реБрдмрд╣-рд╕реБрдмрд╣ рдереЛрдбрд╝рд╛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЙрдкрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд┐рдореНрдб рдХрд┐рдпрд╛ред рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдм рдЖрдкрдиреЗ set_uri рдХреЛ рд▓рд╛рдЗрд╡ рдЗрди рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рд╕реБрдЭрд╛рд╡:

  1. рд╢рд╛рдпрдж рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореМрдЬреВрджрд╛ is-live рдХреЗ рд▓рд┐рдП https://github.com/mopidy/mopidy/blob/develop/mopidy/audio/utils.py#L67 рдЬреИрд╕реЗ рдЪреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?
  2. рдЗрд╕реЗ set_uri(uri, is_live=False) рдмрдирд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ (рдпрд╛ рд╢рд╛рдпрдж live=False , рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╛рдЗрдХрд╢реЗрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ)ред рд╣рдо set_uri рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рддреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдмреИрдХрдПрдВрдб рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореИрдВ set_uri рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рддреИрдпрд╛рд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ/рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реИред

@adamcik рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ mopidy рдХреЛрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ рдФрд░ рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рд╕рд┐рд░реНрдл рдПрдХ рддреЗрдЬрд╝ рдмрджрд╕реВрд░рдд рдлрд┐рдХреНрд╕ рдерд╛ :) рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рддреЛ рдореИрдВ рдПрдХ рдЙрддреНрдкрд╛рджрди рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдорд┐рд▓ рдЬрд╛рдПред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА (рдЬреЛ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдореБрддрд╛рдмрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ) рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рд╡реЗ рд╕рднреА рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрд░реЛрддреЛрдВ рдХреЛ "рд▓рд╛рдЗрд╡" рд╕реНрдЯреНрд░реАрдо рдорд╛рдирддреЗ рд╣реИрдВ? рдпрд╛ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЬрд╛рджреВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕реЗ stream рдмреИрдХрдПрдВрдб рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓рд╛рдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрд╕ рднреЗрдж рд╕реЗ рдЕрдирдЬрд╛рди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ?

@tkem рдореИрдВ рд░рд┐рджрдордмреЙрдХреНрд╕ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рднреА рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рдЬреЛ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╛рдпрд╛: https://github.com/GNOME/totem/blob/80709b95f16258c68d47a0a8587c41f93d291e54/src/backend/bacon-video-widget.c#L2570 (рдЬреЛ рд╣реИ рд╣рдордиреЗ рдпрд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдФрд░ рдпрд╣ рдПрдХ https://github.com/xfce-mirror/parole/blob/1a952fe9b632969f5ecbdc4f783ae285959c435c/src/misc/parole-stream.c#L169

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ gstreamer рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред

@kingosticks : рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!
рддреЛ, рдХреНрдпрд╛ рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ @mczerski рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕рдорд╛рди "рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" рдЗрд╕реЗ Mopidy рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдмрдирд╛ рджреЗрдЧрд╛? рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдмреИрдХрдПрдВрдб рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдХреЛрдИ рд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрд╡ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ ...

рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХреЛрдИ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ set_uri рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЗрд╕реЗ рдЕрдЧрд▓реА рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред @adamcik рдХреА рджреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдХреНрдпрд╛ рдЖрдк рдПрдХ PR @mczerski рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдХрд░реВрдВрдЧрд╛ред

@kingosticks рдЕрдЧрд░ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ ... рд╕рдорд╕реНрдпрд╛ backend.py (рдкрдВрдХреНрддрд┐ 251) рдореЗрдВ рдХреЛрдб рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╣реИ:
self.audio.set_uri(uri, track.length is рдХреЛрдИ рдирд╣реАрдВ).get()

рдХрднреА-рдХрднреА рдЯреНрд░реИрдХ.рд▓реЗрдВрде рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХреЛрдИ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЯреНрд░реИрдХ рдПрдХ рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рдирд╣реАрдВ рд╣реИ: / рд╕реНрдкреЙрдЯрд┐рдлрд╛рдИ рдФрд░ рдпреВрдЯреНрдпреВрдм рдЯреНрд░реИрдХ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реБрдЖред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рдХрднреА-рдХрднреА рдЯреНрд░реИрдХред рд▓рдВрдмрд╛рдИ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдХреЛрдИ рдирд╣реАрдВ рд╣реИред рд╡реЗрдм рдЧреБрдИ рдореЗрдВ рдЯреНрд░реИрдХ рдХреА рд▓рдВрдмрд╛рдИ рд╣рдореЗрд╢рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред

рдЙрди рдЧрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛рд╡ рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ gstreamer рдпрд╛ рд╣рдорд╛рд░рд╛ mopidy рдХреЛрдб рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рд▓рдВрдмрд╛рдИ 0 рд╣реИ? (рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬреЛ рдЯреНрд░реИрдХ рдХреЗ рднреАрддрд░ рдХреВрджрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ) рдХреГрдкрдпрд╛ рдХреЛрдИ рдмрд╕ рдХреБрдЫ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВ ... XD

рд░реЛрдХреЗрдВ, рд░реБрдХрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рддреЛ set_uri(uri, live=False) (рдпрд╛ set_live(live) ) рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рд╢рд╛рдпрдж рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рдЖрдкрдХреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЗрд╕реЗ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрднреА-рдХрднреА рдХреЛрдИ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдбреЗрдЯрд╛ рджреМрдбрд╝ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред

@basisbit рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ is-live рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЯреНрд░реИрдХ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЕрдиреНрдп рдЯреНрд░реИрдХ рд╣реИрдВ, рддреЛ рд╡реЗ рддрдм рддрдХ рдирд╣реАрдВ рдЦреЗрд▓реЗ рдЬрд╛рдПрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓рд╛рдП рдЧрдП рдЯреНрд░реИрдХ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рдирд╣реАрдВ рджреЗрддреЗред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдХреЛрдб рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдЯреНрд░реИрдХ рдХреА рд▓рдВрдмрд╛рдИ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ mopidy рдХреЛрдб рдХрд╛ рдмрд╣реБрдд рдХрдо рдЬреНрдЮрд╛рди рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рд╕реАрдЦрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ :(

рдирдорд╕реНрддреЗ,

рдореИрдВ рд░реЗрдбрд┐рдпреЛ рд╡реЗрдм рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрдВрддрддрдГ рдирд╡реАрдирддрдо рдореЛрдкреАрдбреА рд░рд┐рд▓реАрдЬ рдореЗрдВ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

рдирдорд╕реНрддреЗ,

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ рдФрд░ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рд╕реБрдзрд╛рд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

simonsmiley picture simonsmiley  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

voidmann picture voidmann  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

szuniverse picture szuniverse  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mczerski picture mczerski  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

altano picture altano  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ