got more hints :
I straced the rygel server process, and found that during the playback of
the large file(i.e when it becomes not smooth), the process is trying to
call mutex() a lot, possibly there are some bugs causing temporary
collission . when I play the small file, such calls do not show up
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9,
events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN},
{fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN},
{fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN},
{fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN},
{fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23,
revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9,
events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN},
{fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN},
{fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN},
{fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN},
{fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23,
revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9,
events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN},
{fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN},
{fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN},
{fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN},
{fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23,
revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16) = 8
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0xdc86ab4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xdc86ab0, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb55c000, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xb55cac4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb55cac0, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb4c1a00, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xdc86ce0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9,
events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN},
{fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN},
{fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN},
{fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN},
{fd=23, events=POLLIN}], 18, 90) = 2 ([{fd=3, revents=POLLIN}, {fd=23,
revents=POLLIN}])
read(3, "~\0\0\0\0\0\0\0", 16) = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fbf54000020, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fbf54000020, FUTEX_WAKE_PRIVATE, 1) = 0
(END)
On Sun, Dec 21, 2014 at 2:36 PM, Yang <[email protected]> wrote:
> somehow it seems that the quality of video playback is not dependent on
> bit rate (all my videos are encoded at 2000bits/s bit rate ), the smaller
> files (700MB) play fine, without any stops. but when I play the larger
> files, they constantly go into buffering (about every 2 seconds, pausing
> for about 10 seconds ).
>
> I cut out the first 10 minutes of my big video (the total video is 4.4GB,
> 100minutes, I cut off the first 10min, about 500MB), then play it. it plays
> very smooth. this has been tested and reproduced very consistently.
>
> I checked all the factors: disk is fairly fast, writing/reading speed when
> plugging this usb to a computer, is about 35MB/sec , way over the
> 2000bits/sec bandwidth needed for the video. network bandwidth capacity is
> about 2.5MB/sec, I used several client apps, they show the same behavior,
> so it's not that the clients are busy.
>
>
> this looks to be a general problem to many DLNA/uPNP servers , I tried
> rygel, mediatomb, minidlna, and pogoplug, clients used were vlc, bubbleupnp
> etc.
>
>
>
> so how is this possible? is there a fix? (of course a workaround is to cut
> my files into sections, but that's too cumbersome)
>
>
> Thanks
> Yang
>
_______________________________________________
rygel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/rygel-list