fix bug when playlist consumed and add weak reference in service