Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#11263 closed Bug Report - Crash (fixed)

Airplay Couldn't open decoder for: http://___.mov

Reported by: Roy Underwood <royunderwood7@…> Owned by: JYA
Priority: minor Milestone: 0.26.1
Component: MythTV - Airplay Version: 0.26
Severity: medium Keywords: Airplay Frontend
Cc: Ticket locked: no

Description (last modified by Karl Egly)

When attempting to use AirPlay?, Playing any video content, frontend crashes and logs:

==> frontend.log <==

2012-11-28 20:57:46.660983 I  AirPlay: Method: POST URI: /play
2012-11-28 20:57:46.661105 I  PList: Parsing binary plist (159 bytes)
2012-11-28 20:57:46.661136 I  PList: Parse complete.
2012-11-28 20:57:46.677767 I  TV: Creating TV object
2012-11-28 20:57:46.745474 N  Resuming idle timer
2012-11-28 20:57:46.745585 N  Suspending idle timer
2012-11-28 20:57:46.751737 I  TV: Created TvPlayWindow.
2012-11-28 20:57:46.804733 I  RAOP Device: Receiving new playback message
2012-11-28 20:57:46.809606 I  TV: Attempting to change from None to WatchingVideo
2012-11-28 20:57:46.912996 I  StreamRingBuf(http://10.100.52.50:7001/1/1ab0fcf7-6665-54da-a1be-98639fbf1b4b.MOV): Trying http://10.100.52.50:7001/1/1ab0fcf7-6665-54da-a1be-98639fbf1b4b.MOV (allow seeks: 1
2012-11-28 20:57:47.229238 I  Pulse: PulseAudio suspend OK
2012-11-28 20:57:47.281379 N  AudioPlayer: Enabling Audio
2012-11-28 20:57:47.957513 E  AFD: avformat err(-1094995529) on avformat_open_input call.
2012-11-28 20:57:47.957544 E  Couldn't open decoder for: http://10.100.52.50:7001/1/1ab0fcf7-6665-54da-a1be-98639fbf1b4b.MOV
2012-11-28 20:57:47.957562 E  Player(0): Unable to open video file.
2012-11-28 20:58:07.991566 E  playCtx: StartPlaying() Failed to start player
2012-11-28 20:58:08.159786 I  Pulse: PulseAudio resume OK
2012-11-28 20:58:08.222731 I  TV: Main UI disabled.
2012-11-28 20:58:08.222796 I  TV: Entering main playback loop.
Handling Segmentation fault

==> mythlogserver.20121128073812.1349.log <==

2012-11-28 20:58:14.443705 I [1349/1357] LogForward loggingserver.cpp:1204 (expireClients) - Expiring client 008f6f1d6a6e72403ea7093fd840daeadd (#2)

==> MythTV Info <==

MythTV Version : 0.26.0-1.fc17 (v0.26.0-28-ge3087dd)
MythTV Branch : fixes/0.26
Network Protocol : 75
Library API : 0.26.20120822-1
QT Version : 4.8.2
Options compiled in:
 linux release use_hidesyms using_alsa using_jack using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_crystalhd using_dvb using_firewire using_frontend using_hdhomerun using_ceton using_hdpvr using_iptv using_ivtv using_joystick_menu using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_libudf using_lirc using_mheg using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_v4l2 using_x11 using_xrandr using_xv using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_live using_mheg using_libass using_libxml2 using_libudf

==> OS Info <==

Linux mythtv.royunderwood.com 3.6.7-4.fc17.x86_64 #1 SMP Tue Nov 20 19:40:01 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux   

                   total       used       free     shared    buffers     cached
Mem:          1994       1923         70          0         25       1104
-/+ buffers/cache:        793       1201
Swap:           97         97          0

Filesystem             Size  Used Avail Use% Mounted on
rootfs                  11G  9.1G  1.1G  90% /
devtmpfs               981M     0  981M   0% /dev
tmpfs                  998M   92K  998M   1% /dev/shm
tmpfs                  998M  2.9M  995M   1% /run
/dev/sda2               11G  9.1G  1.1G  90% /
tmpfs                  998M     0  998M   0% /sys/fs/cgroup
tmpfs                  998M     0  998M   0% /media
/dev/sda1              146M   87M   52M  63% /boot
/dev/sda3              448G  308G  118G  73% /myth
/dev/sdb1              917G  761G  110G  88% /myth/movies

==> Notes <==

Audio plays fine via AirPlay

Attachments (1)

Logs.rtf (3.9 KB) - added by Roy Underwood <royunderwood7@…> 11 years ago.
Logs in Text Format

Download all attachments as: .zip

Change History (12)

Changed 11 years ago by Roy Underwood <royunderwood7@…>

Attachment: Logs.rtf added

Logs in Text Format

comment:1 Changed 11 years ago by info@…

Same problem here. I am using mythbuntu 12.04 with mythtv v0.26.0-53-gb28041a (fixes/0.26), updated daily. I have an iPhone 4. Playing Music via Airplay works. Playing videos using the YouTube? app also works. What does not work is playing videos I recorded with the iphone (from the camera roll). I get this error in the frontend log:

avformatdecoder.cpp:978 (OpenFile?) AFD: avformat err(-1094995529) on avformat_open_input call

It takes about ten seconds and then the frontend crashes. If needed, I can provide a sample video recording.

comment:2 Changed 11 years ago by Karl Egly

Description: modified (diff)

comment:3 Changed 11 years ago by Karl Egly

Component: MythTV - GeneralMythTV - RAOP
Milestone: 0.26.1
Owner: set to JYA

this may have been fixed in [75541357af] in master lately

comment:4 Changed 11 years ago by JYA

Playback of .MOV straight from the iPhone doesn't work at this stage, I need to track why. If the file is local then it played, if over http then it doesn't. Note that it fails using ffplay too, so the issue is likely in ffmpeg itself

comment:5 Changed 11 years ago by JYA

I believe this is linked to a similar issue using ffplay https://ffmpeg.org/trac/ffmpeg/ticket/2513

comment:6 Changed 11 years ago by JYA

Keywords: Crash removed

comment:7 Changed 11 years ago by JYA

Status: newaccepted

comment:8 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

Resolution: fixed
Status: acceptedclosed

In 3345a03162f704d70081fe558d4ce6e7659bf323/mythtv:

Reduce buffer size used while scanning media.

For some reasons, when playing a MOV file by AirPlay? from an iPhone fails when the buffer is too big. So add a method for specific stream allowing to temporarily reduce the size of the buffer. I suspect an issue in FFmpeg caching code.
This allows to work around it, without investigating too much the "why".

Fixes #11263

comment:9 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In 8b8ec72b005ecf1cb9d36bb4f82469b3718fefb4/mythtv:

Rewrite of StreamingRingBuffer::safe_read

safe_read was based on FFmpeg's ffurl_read_complete, however when an EOF or an error is encountered, ffurl_read_complete returns the error code rather than the number of bytes read so far.
Rather than wait for FFmpeg to fix it (ref: https://ffmpeg.org/trac/ffmpeg/ticket/2537) ; work around it.
safe_read now will set errno as expected and always return a value >= 0 representing the number of bytes actually read.

Fixes #11263

comment:10 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In 6d1ee08f14b70be52104dce8609f5953426e0527/mythtv:

Rewrite of StreamingRingBuffer::safe_read

safe_read was based on FFmpeg's ffurl_read_complete, however when an EOF or an error is encountered, ffurl_read_complete returns the error code rather than the number of bytes read so far.
Rather than wait for FFmpeg to fix it (ref: https://ffmpeg.org/trac/ffmpeg/ticket/2537) ; work around it.
safe_read now will set errno as expected and always return a value >= 0 representing the number of bytes actually read.

Fixes #11263
(cherry picked from commit 8b8ec72b005ecf1cb9d36bb4f82469b3718fefb4)

comment:11 Changed 11 years ago by JYA

Milestone: 0.26.1
Note: See TracTickets for help on using tickets.