Systems and methods for adjusting buffer size
Methods and systems are provided for adjusting a size of a buffer based on a probability that a rewind request will be received during a currently playing segment of media. When the system determines that receiving a rewind request is likely, the system will increase the size of a buffer such that the rewind request can be accommodated using data from the buffer. When the system determines that receiving a rewind request is unlikely, the system will decrease the size of the buffer to free resources for other system components.
1. A method for dynamically adjusting a size of a buffer of a media consumption device, the method comprising:
buffering a first segment of the media asset in a buffer having a first buffer size;
retrieving metadata associated with a second segment of the media asset;
determining that a rewind request is likely to be received during the second segment of the media asset in response to:
determining, based on a user profile, that a user is likely to issue a rewind command when consuming a segment of the media asset that comprises low audio level; and
identifying, based on the retrieved metadata of the second segment, that the second segment comprises low audio level;
in response to determining that the rewind request is likely to be received:
increasing the size of the buffer to a second buffer size; and
buffering the second segment of the media asset in the buffer having the second buffer size; and
in response to detecting end of the second segment, reducing the size of the buffer to the first buffer size.
2. The method of claim 1 , further comprising:
in response to determining that the rewind request is not likely to be received:
decreasing the size of the buffer to a third buffer size; and
buffering the second segment of the media asset in the buffer having the third buffer size; and
in response to detecting end of the second segment, increasing the size of the buffer to the first buffer size.
3. The method of claim 1 , further comprising:
receiving a rewind request during the second segment of the media asset; and
in response to receiving the rewind request:
rewinding the second segment; and
playing content of the buffer on the media consumption device from a point to which the second segment was rewound.
4. The method of claim 1 , wherein increasing the size of the buffer comprises:
calculating an amount of memory needed to store the entire second segment of the media asset; and
setting the size of the buffer based on the calculated amount of memory.
5. The method of claim 1 , wherein increasing the size of the buffer comprises:
identifying an average length of rewind requests received from a plurality of users while consuming the second segment of the media asset;
calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and
setting the size of the buffer based on the calculated amount of memory.
6. The method of claim 1 , wherein increasing the size of the buffer comprises:
identifying an average length of rewind requests received from the user while consuming media segments that are similar to the second segment of the media asset;
calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and
setting the size of the buffer based on the calculated amount of memory.
7. A method for dynamically adjusting the size of a buffer of a media consumption device the method comprising:
buffering a first segment of the media asset in a buffer having a first buffer size;
retrieving metadata associated with a second segment of the media asset;
determining that a rewind request is likely to be received during the second segment in response to:
identifying based on the retrieved metadata a language spoken in the second segment;
identifying a preferred language of the user based on the user profile; and
determining that the language spoken in the second segment does not match the preferred language of the user; and
in response to determining that the rewind request is likely to be received:
increasing the size of the buffer to a second buffer size; and
buffering the second segment of the media asset in the buffer having the second buffer size; and
in response to detecting end of the second segment, reducing the size of the buffer to the first buffer size.
8. A system for dynamically adjusting a size of a buffer of a media consumption device, the system comprising control circuitry configured to:
buffer a first segment of the media asset in a buffer having a first buffer size;
retrieve metadata associated with a second segment of the media asset;
determine that a rewind request is likely to be received during the second segment of the media asset in response to:
determining, based on a user profile, that a user is likely to issue a rewind command when consuming a segment of the media asset that comprises low audio level; and
identifying, based on the retrieved metadata of the second segment, that the second segment comprises low audio level;
in response to determining that the rewind request is likely to be received:
increase the size of the buffer to a second buffer size; and
buffer the second segment of the media asset in the buffer having the second buffer size; and
in response to detecting end of the second segment, reduce the size of the buffer to the first buffer size.
9. The system of claim 8 , wherein the control circuitry, in response to determining that the rewind request is not likely to be received, is further configured to:
decrease the size of the buffer to a third buffer size; and
buffer the second segment of the media asset in the buffer having the third buffer size; and
in response to detecting end of the second segment, increase the size of the buffer to the first buffer size.
10. The system of claim 8 , wherein the control circuitry is further configured to:
receiving a rewind request during the second segment of the media asset; and
in response to receiving the rewind request:
rewinding the second segment; and
playing content of the buffer on the media consumption device from a point to which the second segment was rewound.
11. The system of claim 8 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:
calculating an amount of memory needed to store the entire second segment of the media asset; and
setting the size of the buffer based on the calculated amount of memory.
12. The system of claim 8 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:
identifying an average length of rewind requests received from a plurality of users while consuming the second segment of the media asset;
calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and
setting the size of the buffer based on the calculated amount of memory.
13. The system of claim 8 , wherein the control circuitry is further configured, when increasing the size of the buffer, to:
identifying an average length of rewind requests received from the user while consuming media segments that are similar to the second segment of the media asset;
calculating an amount of memory needed to store a portion of the second segment corresponding to the average length of the rewind requests; and
setting the size of the buffer based on the calculated amount of memory.